前日と当日のテーブルに存在するデータをBigQueryで抽出する
何日連続ログインとかそういうデータ欲しくなったときに。
こんな感じ。
SELECT id FROM dataset.20160610 WHERE id IN ( SELECT id FROM TABLE_DATE_RANGE([dataset.], DATE_ADD(TIMESTAMP('2016-06-10'), -1, 'DAY'), DATE_ADD(TIMESTAMP('2016-06-10'), -1, 'DAY')) )
コツは、 TABLE_DATE_RANGE()
を使って、第二引数と第三引数に同じ日を DATE_ADD()
で渡すこと。
ちなみに、テーブル名が、 yyyymmdd
だけの場合は、 []
を使わないといけないらしい。初めて知った。
まぁ、プログラム側で1日前とか出せば、置き換えるだけでできるんだけど、ちょっとやってみたかったので。
ではでは!