今回は、データのグループ化を行うGROUP BY句について記載する。
今回は、無料で使用できるデータセット「bigquery-public-dataset」のテーブル「bigquery-public-data.google_ads.geotargets」を使用する
グループ化は、データをある基準に従って集計するときなどに使用する。
グループ化は、GROUP BY句にグループ化するカラム(複数指定可)を指定することで、指定したカラムのデータの種類の分だけ集約されたレコードが取得できる。(例えば指定したカラムが1つでデータのパターンが3通りある場合は3レコードに集約される)
なお、グループ化するに従い、SELECT句に指定できるのはGROUP BY句に記述したカラムもしくは、次回以降に記載する集約関数、定数などに制限されるので注意。
試しに、「bigquery-public-data.google_ads.geotargets」をカラムparernt_idをグループ化し、どれだけのパターンのparent_idが存在するかを確認してみる。
クエリは以下。
※グループ化されていることが分かるようにORDER BYでソートしている
SELECT
parent_id
FROM
bigquery-public-data.google_ads.geotargets
GROUP BY
parent_id
ORDER BY
parent_id
結果より、parernt_idが重複せず集約されてることが分かる。