メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012-12-01)

GROUP BY 句

GROUP BY 句は、クエリのグループ化列を特定します。クエリが SUM、AVG、COUNT などの標準関数を使って集計する場合、グループ化列を宣言する必要があります。

Copy
GROUP BY expression [, ...]

expression

列または式のリストは、クエリの SELECT リストの非集計式のリストと一致する必要があります。例えば、次のシンプルなクエリを検討します。

Copy
select listid, eventid, sum(pricepaid) as revenue, count(qtysold) as numtix from sales group by listid, eventid order by 3, 4, 2, 1 limit 5; listid | eventid | revenue | numtix --------+---------+---------+-------- 89397 | 47 | 20.00 | 1 106590 | 76 | 20.00 | 1 124683 | 393 | 20.00 | 1 103037 | 403 | 20.00 | 1 147685 | 429 | 20.00 | 1 (5 rows)

このクエリでは、選択式は、2 つの集計式から構成されています。最初の式は SUM 関数を使用し、2 番目の式は COUNT 関数を使用します。残りの 2 つの例 (LISTID と EVENTID) は、グループ化列として宣言する必要があります。

GROUP BY 句の式は、序数を使用することで、SELECT リストを参照することもできます。例えば、前の例は、次のように短縮できます。

Copy
select listid, eventid, sum(pricepaid) as revenue, count(qtysold) as numtix from sales group by 1,2 order by 3, 4, 2, 1 limit 5; listid | eventid | revenue | numtix --------+---------+---------+-------- 89397 | 47 | 20.00 | 1 106590 | 76 | 20.00 | 1 124683 | 393 | 20.00 | 1 103037 | 403 | 20.00 | 1 147685 | 429 | 20.00 | 1 (5 rows)

このページの内容: