SQLのGROUP BY句を使用した複数のグループ化方法


  1. 単一の列でのグループ化: 例えば、以下のようなテーブルがあるとします。

    +------+--------+-------+
    | 名前 | 部門   | 売上  |
    +------+--------+-------+
    | John | Sales  | 1000  |
    | Mary | Sales  | 2000  |
    | Bob  | IT     | 1500  |
    | Jane | IT     | 3000  |
    +------+--------+-------+

    部門ごとの売上合計を取得するためには、以下のクエリを使用します。

    SELECT 部門, SUM(売上) AS 売上合計
    FROM テーブル名
    GROUP BY 部門;

    結果は以下のようになります。

    
    +--------+------------+
    | 部門   | 売上合計   |
    +--------+------------+
    | Sales  | 3000       |
    | IT     | 4500       |
    +--------+------------+
  2. 複数の列でのグループ化: 複数の列を指定してグループ化することもできます。例えば、部門と年度ごとの売上合計を取得するためには、以下のクエリを使用します。
    SELECT 部門, 年度, SUM(売上) AS 売上合計
    FROM テーブル名
    GROUP BY 部門, 年度;
  3. GROUP BY句の結果のフィルタリング: GROUP BY句の結果をフィルタリングするためには、HAVING句を使用します。例えば、売上合計が一定金額以上の部門を取得するためには、以下のクエリを使用します。

    SELECT 部門, SUM(売上) AS 売上合計
    FROM テーブル名
    GROUP BY 部門
    HAVING SUM(売上) >= 2000;

    上記のクエリは売上合計が2000以上の部門のみを取得します。

これらはSQLの一部の例であり、さまざまな方法でGROUP BY句を使用することができます。具体的な要件に合わせて適切なクエリを作成してください。