これはなに
Amazon Athenaにスナップショットデータをためて行く場合、日次パーティションを利用することが多くあります。
日次でGROUP BYするなどして集計したい場合、集計日のカラムを追加し、ORDER BYすることがありますのでDATE型のカラムとして追加します。
Query
date(date_parse(year || month || day, '%Y%m%d'))
でDATEに変換できます。
||
で文字列として連結し、date_parse
でDATETIMEに変換、00:00:00
の情報はいらないのでDATEにキャストします。
SELECT count(distinct(uid)),
sum(amount),
date(date_parse(year || month || day,
'%Y%m%d')) AS date
FROM users
GROUP BY year, month, day
ORDER BY date(date_parse(year || month || day,
'%Y%m%d'))