Python における Self とは: 実際の例
Python における Self とは: 実際の例
このチュートリアルでは、 SQL のさまざまな集計関数とその使用方法について説明します。SQL では、集計関数を使用して、複数の行のデータを 1 つの集計行に蓄積します。
SQL の集計関数は、アナリストがデータを要約するときに非常に役立ちます。
目次
SQL で一般的に使用される集計関数
SQL で一般的に使用される集計関数の一部を以下に示します。
関数と関数は通貨または整数値でよく使用されることに注意してください。AVG 関数は、平均だけでなく列の平均も返します。また、集計関数、計算の実行時に NULL 値を無視しない唯一の関数です。
以下のサンプルテーブルを使用して、5 つの集計関数を使用していくつかのサンプルコマンドを作成してみましょう。
まずはMAX関数を使ってコマンドを作ってみましょう。ProductName列で最も価値の高い製品を見つけたいとします。コマンドは以下の画像のようになります。
最も価値の高い製品を見つけているので、ProductPrice列の下にあるその価格を取得する必要があります。出力列の名前を指定するには、必ずエイリアスを付けてください。そのコマンドを実行すると、値が 1 つだけある最高値の製品が表示されます。
次にMIN関数を使ってコマンドを作ってみましょう。MIN 関数はMAX 関数に似ているため、 MAX 関数で使用したのと同じ例を使用しますが、今回は最小値の積を見つけます。
このコマンドを実行すると、サンプル テーブル内の最も低い値の製品がフェッチされます。
それではCOUNT関数を使ってコマンドを作ってみましょう。ProductID列で製品の数量を確認したいとします。コマンドは以下の画像のようになります。
このコマンドを実行すると、 ProductID列の下に各製品の数量 とそれぞれの価格が表示されます。
集計関数と GROUP BY 句
ここで、集計関数で複数の列を使用する方法について説明します。これを行うには、 GROUP BY 句を使用する必要があります。
GROUP BY 関数は、各グループから 1 つのレコードを返すため、主に集計関数で使用されます。また、集計を使用しない場合でも、SELECT ステートメント内のすべての列を含める必要があります。
以下のサンプルテーブルを使用して、GROUP BY 句を使用して集計関数を使用する方法を説明します。
まず、GROUP BY 句を使用せずにコマンドを実行して、違いを確認してみましょう。ProductName列内の 合計SaleAmountを見つけてみましょう。コマンドは以下の画像のようになります。
お気づきのとおり、このコマンドは、このチュートリアルの冒頭で説明した前の例と似ています。このコマンドを実行すると、列SaleAmountの合計金額が単純に計算され、 28になります。
ここで、 GROUP BY 句を使用した別の例を見てみましょう。
GROUP BY 句を使用しているため、複数の列を使用できるようになりました。今回は、カテゴリごとの合計SaleAmountを確認したいと思います。
GROUP BY 句を使用すると、結果に各カテゴリの売上の合計が表示されるようになり、実行すると、結果は次の画像になります。
この例では、GROUP BY 句を使用することが重要です。そうしないとエラーが発生します。これは、Category がGROUP BY 句または集計関数に含まれていないためです。
同じ例を考えてみましょう。ただし、今回はProductNameごとに合計SaleAmountも取得します。コマンドは以下の画像のようになります。
コマンドを実行すると、結果にはカテゴリ別およびProductNameごとの売上の合計が表示されます。
GROUP BY 句を使用せずに複数の列を使用したりアクセスしたりすることはできないことに注意してください。使用すると、コマンドの実行時にエラーが発生します。
SQL Server Management Studio (SSMS) の集計関数
ここで、SQL Server Management Studioで集計関数を使用する方法について説明します。例では以下の表を使用します。
SalesOrderHeaderテーブルには31,465 行のデータがあります。最初の例では、テーブル内の行を数えることでCOUNT関数を使用する方法を示します。コマンドは以下の画像のようになります。
SalesOrderHeader 内のすべての行を正常にカウントし、countofrowsという名前を付けました。このコマンドを実行すると、 31,465 行の結果が得られます。
データセットに戻りましょう。同じ集計関数を使用しながら、テーブル内にあるSalespersonID の数を数えてみましょう。コマンドは次のようにする必要があります。
コマンドを実行すると、列SalespersonsIDの下のデータが具体的にフェッチされ、 countofsalespersonsという名前の列が得られ、結果は3806になります。
単一のクエリでの集計関数の使用
次に、単一のクエリで複数の集計関数を使用する方法について説明します。TotalDue 列とTaxAmt列を集計する際にSUM、AVG、およびMAX 関数を使用します。
すべての関数の後にカンマを置くことで、単一のクエリで 複数の集計関数を使用できます。
このコマンドを実行すると、結果は以下の画像のようになります。
これで、複数の集計関数を使用して、さまざまな列をそれぞれの値とともに表示できるようになりました。
列を選択するときにGROUP BY 句を使用する必要がある理由を強調するために、エラーが発生するコマンドを実行してみましょう。複数の関数を使用して同じ例を使用しますが、今回はCustomerIDを選択します。
ご覧のとおり、 CustomerID が集計関数にもGROUP BY 句にも含まれていないため、コマンドは無効であると表示されます。
GROUP BY 句を使用したサンプル シナリオ
次の例では、コマンドにGROUP BY 句を指定してエラーを修正しましょう。
GROUP BY 句にCustomerID を追加したところ、 CustomerIDごとにTotalDueとTaxAmtの合計、平均、最大値が表示されるようになりました。合計19119 行があることもわかります。
最後の例として、非集計列と式がGROUP BY 句に含まれていることを確認することがなぜ重要なのかを説明します。
SalesOrderHeaderテーブルには、 OrderDate列があります。TotalDueの合計を年ごとに取得したいとします。すべての非集計列と式を指定しない場合は、以下の画像のコマンドを使用する必要があります。
どのようにしてエラーではなく結果を取得できるかに注目してください。ただし、レポートを年に 1 つの特定の値に要約することが目標である場合、同じ年に複数のレポートが存在します。
間違いを修正するには、 GROUP BY 句にも式が含まれていることを確認する必要があります。新しいコマンドは次のようになります。
コマンドを実行すると、年ごとのOrderDateの合計が正常に取得されたことがわかります。
SQL 集計関数の HAVING 句
SQL のストアド プロシージャ | 概要
LuckyTemplates で GROUPBY 関数を使用する効果的な方法
結論
要約すると、SQL での集計関数の使用に関する基本的な知識の一部を学習しました。集計関数は、データの分析と要約中にアナリストに利便性を提供するため、大規模なレポートやデータセットを操作する場合に非常に理想的です。
このチュートリアルが、SQL でのさまざまな集計関数の使用方法をより良く練習するのに役立つことを願っています。このトピックやその他の関連コンテンツについて詳しく知りたい場合は、以下の関連リンクのリストをご覧ください。
ではごきげんよう、
ハーフィズ
Python における Self とは: 実際の例
R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。
この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。
このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。
この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。
LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。
LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。
このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。
これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。
LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて