データベースでのgroup byの使い方は?
データベースでは、GROUP BY句は結果セットを1つ以上の列でグループ化するために使用されます。通常、COUNT、SUM、AVGなどの集約関数と一緒に使用され、グループ化された結果を計算します。
GROUP BY句を使用する基本的な構文は次の通りです:
表名から列1、列2、… 列nを選択し、列1、列2、… 列nでグループ化します。
ここで、列1、列2、… 列n はグループ化する列の名前です。
例えば、”orders”というテーブルがあり、注文番号(order_id)、顧客番号(customer_id)、注文金額(amount)などの列が含まれているとします。顧客番号でグループ化し、それぞれの顧客の注文総額を計算するためには、以下のSQLクエリを使用することができます。
注文から、顧客IDごとの合計金額を選択します。
このクエリはcustomer_id列でグループ化し、各顧客の注文総額を計算します。
さらに、GROUP BY句はHAVING句と一緒に使用することができ、グループ化された結果をフィルタリングするために使われます。HAVING句はGROUP BY句の後に実行され、特定の条件を満たすグループを絞り込むために使われます。
例えば、注文金額が1000以上の顧客を選別するには、以下のクエリを使用できます:
注文から、customer_idとamountの合計を選択し、customer_idでグループ化して、合計金額が1000を超えるものを選択します。
このクエリはcustomer_id列でグループ化され、注文の総金額が1000を超える顧客を選択します。