🔥
第1回:BQでSQL問題集
準備
使用データ
- bigquery-public-data.san_francisco_film_locations.film_locations
- サンフランシスコで撮影された映画の情報(タイトル・公開年・撮影地など)
✅ 基礎編:SELECT, WHERE, ORDER BY
🧪 問題 1:映画のタイトルと公開年を5件表示せよ
ヒント
SELECT:見たいカラムを指定する
FROM:どのテーブルからデータを取るか
LIMIT:結果を5件に制限
✅ 解答を見る
SELECT title, release_year
FROM `bigquery-public-data.san_francisco_film_locations.film_locations`
LIMIT 5;
🧪 問題 2:制作会社が "Warner Bros. Pictures" の映画だけ表示せよ
ヒント
WHERE:データを絞る条件を指定
=:完全一致(大文字・小文字も含めて)
✅ 解答を見る
SELECT title, production_company
FROM `bigquery-public-data.san_francisco_film_locations.film_locations`
WHERE production_company = "Warner Bros. Pictures";
🧪 問題 3:公開年が新しい順に映画を10件表示せよ
ヒント
ORDER BY release_year DESC:公開年で並び替え(降順=新しい順)
DESC:降順(古い順は ASC)
✅ 解答を見る
SELECT title, release_year
FROM `bigquery-public-data.san_francisco_film_locations.film_locations`
ORDER BY release_year DESC
LIMIT 10;
✅ 集計編:GROUP BY, COUNT, HAVING
🧪 問題 4:公開年ごとの映画の本数を集計せよ(古い順)
ヒント
GROUP BY:同じ年のデータをまとめる
COUNT(*):グループごとの件数を数える
AS film_count:列に別名をつける
✅ 解答を見る
SELECT release_year, COUNT(*) AS film_count
FROM `bigquery-public-data.san_francisco_film_locations.film_locations`
GROUP BY release_year
ORDER BY release_year;
🧪 問題 5:映画が10本以上撮影されたロケ地をランキング表示せよ(トップ10)
ヒント
HAVING:GROUP BY のあとの結果に対して条件をつける(WHERE は使えない!)
IS NOT NULL:空欄データを除外
ORDER BY:件数の多い順に並び替え
✅ 解答を見る
SELECT locations, COUNT(*) AS film_count
FROM `bigquery-public-data.san_francisco_film_locations.film_locations`
WHERE locations IS NOT NULL
GROUP BY locations
HAVING COUNT(*) >= 10
ORDER BY film_count DESC
LIMIT 10;
Discussion