bigquery を利用しています。
やりたいこと
window関数を利用して先月末日時点の値を取得したいです。
bigquery-public-dataにて試したコードが下記ですが、月単位で降順に並べた時の
最初の値は取得できますが、条件として先月末はどのように設定すれば良いでしょうか。
例ではtaxi_idとtrip_start_timestampを月単位したものをpartitonに指定し、
最初の値を取得することはできたのですが、ここから条件設定で詰まっております。
where句をtrip_start_timestampを基準に先月末を指定することになるではないかと考えますが、
アドバイスをいただますと助かります。。
bigquery standard sql SELECT taxi_id ,trip_start_timestamp ,payment_type ,company ,FIRST_VALUE(payment_type) over (PARTITION BY taxi_id,extract(month from trip_start_timestamp) ORDER BY trip_start_timestamp desc) FROM `bigquery-public-data.chicago_taxi_trips.taxi_trips`
INSERT INTO taxidata (taxi_id, trip_start_timestamp, payment_type, company) VALUES ('bc3b6178088532bbcb1b98f3aaed977', '2020-03-14 00:45:00 UTC','Credit Card', 'Flash Cab'), ('bc3b6178088532bbcb1b98f3aaed977', '2020-03-14 00:45:00 UTC','Credit Card', 'Flash Cab'), ('bc3b6178088532bbcb1b98f3aaed977', '2020-03-12 23:30:00 UTC','Credit Card', 'Flash Cab'), ('bc3b6178088532bbcb1b98f3aaed977', '2020-03-12 19:45:00 UTC','Cash', 'Flash Cab'), ('bc3b6178088532bbcb1b98f3aaed977', '2020-03-14 00:45:00 UTC','Credit Card', 'Flash Cab'), ('bc3b6178088532bbcb1b98f3aaed977', '2020-02-24 08:15:00 UTC','Cash', 'Flash Cab'), ('bc3b6178088532bbcb1b98f3aaed977', '2020-02-23 08:15:00 UTC','Credit Card', 'Flash Cab'), ('bc3b6178088532bbcb1b98f3aaed977', '2020-02-28 08:15:00 UTC','Cash', 'Flash Cab'), ('bc3b6178088532bbcb1b98f3aaed977', '2020-01-24 08:15:00 UTC','Credit Card', 'Flash Cab');
期待する結果
2020-03-14 00:45:00UTC レコード に対しては2020-02-28 08:15:00UTCの type cash
2020-02-23 08:15:00UTC レコード に対しては2020-01-24 08:15:00UTCの type Credit Card
回答1件
あなたの回答
tips
プレビュー