ホームページ >データベース >mysql チュートリアル >SQL GROUP BY をマスターする: データの整理と要約

SQL GROUP BY をマスターする: データの整理と要約

Barbara Streisand
Barbara Streisandオリジナル
2025-01-04 19:03:41735ブラウズ

Mastering SQL GROUP BY: Organizing and Summarizing Your Data

SQL での GROUP BY の使用を理解する

SQL の GROUP BY 句は、1 つ以上の列に基づいてデータをグループに編成するために使用されます。通常、データの各グループに対して計算を実行するために、集計関数 (SUM、COUNT、AVG、MAX、MIN など) とともに使用されます。


GROUP BY の構文

SELECT column1, aggregate_function(column2)
FROM table_name
GROUP BY column1;
  • column1: データをグループ化するために使用される列。
  • aggregate_function(column2): 各グループに適用される集計関数。
  • table_name: データの取得元のテーブル。

GROUP BY の仕組み

  1. データのグループ化:

    指定された列に同じ値を持つ行がグループ化されます。

  2. 集計関数:

    行がグループ化されると、集計関数が適用されて各グループの 1 つの結果が計算されます。


テーブルの例: sales


Product Category Sales_Amount Region
Laptop Electronics 1000 North
Phone Electronics 500 South
TV Electronics 700 North
Desk Furniture 200 East
Chair Furniture 150 East

GROUP BY の使用例

1. カテゴリ別のグループ販売

SELECT Category, SUM(Sales_Amount) AS Total_Sales
FROM sales
GROUP BY Category;

結果:

Category Total_Sales
Electronics 2200
Furniture 350

2. 各カテゴリの製品を数える

SELECT Category, COUNT(Product) AS Product_Count
FROM sales
GROUP BY Category;

結果:

Category Product_Count
Electronics 3
Furniture 2

3. 複数の列によるグループ化

SELECT Category, Region, SUM(Sales_Amount) AS Regional_Sales
FROM sales
GROUP BY Category, Region;

結果:

Category Region Regional_Sales
Electronics North 1700
Electronics South 500
Furniture East 350

HAVING での GROUP BY の使用

HAVING 句は、グループ化する前に行をフィルタリングする WHERE とは異なり、集計後にグループをフィルタリングするために使用されます。

例: 売上が 500 を超えるカテゴリをフィルターする

SELECT column1, aggregate_function(column2)
FROM table_name
GROUP BY column1;

結果:

Category Total_Sales
Electronics 2200

GROUP BY に関する重要なポイント

  1. 実行順序:

    • 行が最初にグループ化されます。
    • 集計関数は各グループに適用されます。
    • HAVING 句のフィルターは最後に適用されます。
  2. SELECT 内の列:

    SELECT ステートメントの列は次のいずれかでなければなりません:

    • GROUP BY 句に表示されます。
    • 集計関数で使用されます。

有効なクエリの例:

SELECT Category, SUM(Sales_Amount) AS Total_Sales
FROM sales
GROUP BY Category;

無効なクエリの例:

SELECT Category, COUNT(Product) AS Product_Count
FROM sales
GROUP BY Category;
  1. 複数列:

    GROUP BY は、複数の列に基づいてデータをグループ化し、より細かい分割を作成できます。

  2. NULL 処理:

    グループ化列に NULL が含まれる行は、単一のグループとして扱われます。


実用的な使用例

  • 販売レポート:

    各製品または地域の合計売上高を計算します。

  • 在庫管理:

    各カテゴリのアイテム数を数えます。

  • データ分析:

    カテゴリ、日付、または場所ごとに平均スコアまたは合計を計算します。


結論

GROUP BY 句は、データを要約し、有意義な洞察を生成するための SQL の強力なツールです。合計、平均、カウントのいずれを計算する場合でも、データベースのクエリとレポートを効率的に行うには、GROUP BY の効果的な使用方法を理解することが不可欠です。

こんにちは、アバイ・シン・カタヤットです!
私はフロントエンドとバックエンドの両方のテクノロジーの専門知識を持つフルスタック開発者です。私はさまざまなプログラミング言語やフレームワークを使用して、効率的でスケーラブルでユーザーフレンドリーなアプリケーションを構築しています。
ビジネス用メールアドレス kaashshorts28@gmail.com までお気軽にご連絡ください。

以上がSQL GROUP BY をマスターする: データの整理と要約の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。