前提・実現したいこと
SQL(BigQuery)において、例えば期間がBETWEEN '2020-05-01' AND '2020-06-31'で
かつ期間内でidが5以上のもののみのidだけを残したデータセットを作成したいです。
インプットのデータの例
id, date A, 2020-05-01 A, 2020-05-01 A, 2020-05-01 A, 2020-05-01 A, 2020-05-01 A, 2020-06-01 A, 2020-10-01 B, 2020-04-01 B, 2020-04-01 B, 2020-05-01 B, 2020-04-01
アウトプットのデータの例
この場合、Aが残る。
Bは1レコードしか期間内に該当するものとマッチしないため、残らない。
残ったAについては期間外のレコードも残したい。
id, date A, 2020-05-01 A, 2020-05-01 A, 2020-05-01 A, 2020-05-01 A, 2020-05-01 A, 2020-06-01 A, 2020-10-01
考えたこと
条件としては以下二つがあると思います。
・COUNT(id) >= 5とWHERE
・date BETWEEN '2020-05-01' AND '2020-06-31'
group byをしてからjoinかと考えましたが、それとおおもとのデータを期間で紐づけるところで苦慮しています。
WHEREの中にid=(select…)みたいな感じで行くこと等いくつか試しているのですが、
結果がうまく抽出できず困っております。
お知恵を拝借できましたら幸いです。
何卒よろしくお願い申し上げます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。