treasure data で月間PVを取るHive


SELECT
    TD_TIME_FORMAT(time, 'yyyy-MM', 'JST'),
    COUNT(*) AS total
 FROM hoge_table
WHERE action = 'page_view'
  AND TD_TIME_RANGE(
        time,
        IF(DAY(TD_TIME_FORMAT(UNIX_TIMESTAMP(), 'yyyy-MM-dd', 'JST')) = 1,
           TD_TIME_FORMAT(TD_TIME_ADD(UNIX_TIMESTAMP(), '-1d', 'JST'), 'yyyy-MM-01 00:00:00', 'JST'),
           TD_TIME_FORMAT(UNIX_TIMESTAMP(), 'yyyy-MM-01 00:00:00', 'JST')),
        TD_TIME_FORMAT(UNIX_TIMESTAMP(), 'yyyy-MM-dd 00:00:00', 'JST'),
        'JST'
      )
GROUP BY TD_TIME_FORMAT(time, 'yyyy-MM', 'JST')

hoge_table に page_view という action 名でレコードがはいってるとして。
毎日昨日までの月間PVを集計するようなクエリー。

JST をつけまくらなきゃならないのが面倒。