今回は、ORDER BYによる並べ替えを複数カラムを使用して行う方法と、クエリ結果の取得件数を限定する方法を記載する。
前回同様、無料で使用できるデータセット「bigquery-public-dataset」のテーブル「bigquery-public-data.google_ads.geotargets」からカラム「parent_id」「criteria_id」「en_name」を取得する
前回のようにORDER BYを使ってカラム「parent_id」の昇順のみで並べ替えると同じ値を持ったレコードが存在し、思った通りに並んでいない場合がある。その場合は、「parent_id」の後ろにカラムを指定することで「parent_id」が同じ値のレコードを順序付けすることができる。
また、複数のカラムそれぞれで昇順、降順を指定することができる。
例として、「parent_id」の昇順、「criteria_id」の降順で並べ替える。
クエリは以下。
SELECT
parent_id, criteria_id, en_name
FROM
bigquery-public-data.google_ads.geotargets
ORDER BY
parent_id, criteria_id DESC
結果を見ると「parent_id」が同一のものについて、「criteria_id」の降順で並び替えられていることがわかる。
クエリ結果の取得件数を限定する
LIMITに取得する件数を指定することで限定する。
試しに上記の並び変えに使用したクエリを上位10件のみ取得してみる。
クエリは以下。
SELECT
parent_id, criteria_id, en_name
FROM
bigquery-public-data.google_ads.geotargets
ORDER BY
parent_id, criteria_id DESC
LIMIT
10
結果より指定した10件のみ取得できていることがわかる。