BigQueryで最新日付のみ抽出するSQLについて質問です。
テーブル更新があった際に、update_dateとともに新しいレコードが追加されるテーブルに対して、
以下のような最新のupdated_atのみ抽出するSELECT文を作成していますが、"product_id, price, size, color"でGROUP BYしているために、テーブル内容のすべてが抽出対象となってしまいます。
product_idのみGROUP BY対象とした上で、最新のupdate_dateのレコードのみ抽出するためにはどのようなSQLを記述すれば良いでしょうか?
# 現在作成しているSQL SELECT MAX(update_date), product_id, price, size, color FROM `table` GROUP BY product_id, price, size, color
# テーブル内容 id, procut_id, price, size, color, update_date 1, 1, null, null, null, 2020-09-06 00:00:00.000000 2, 1, 150, small, black, 2020-09-06 00:00:10.000000 3, 2, 200, medium, white, 2020-09-06 00:01:00.000000 3, 3, 300, large, red, 2020-09-06 00:02:00.000000 4. 3, 300, large, blue, 2020-09-06 00:02:10.000000
# 抽出対象としたいレコード 2, 1, 150, small, black, 2020-09-06 00:00:10.000000 3, 2, 200, medium, white, 2020-09-06 00:01:00.000000 4. 3, 300, large, blue, 2020-09-06 00:02:10.000000
あなたの回答
tips
プレビュー