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 をつけまくらなきゃならないのが面倒。