为什么在大查询中运行sql时,会得到一个意外的关键字间隔?
我得到了这个sql,我正试图在BigQuery中运行它。我收到这个错误: 意外关键字间隔为什么在大查询中运行sql时,会得到一个意外的关键字间隔?,sql,google-bigquery,Sql,Google Bigquery,我得到了这个sql,我正试图在BigQuery中运行它。我收到这个错误: 意外关键字间隔 SELECT studio."Location" as location ,CONCAT(users.first_name, ',', users.last_name) AS username , COUNT(events.created_at) AS events FROM xxx JOIN zzz ON z_kf_asset = asset.z_kp JOIN client ON
SELECT studio."Location" as location ,CONCAT(users.first_name, ',', users.last_name) AS username , COUNT(events.created_at) AS events
FROM xxx
JOIN zzz ON z_kf_asset = asset.z_kp
JOIN client ON production.z_kf_client = client.z_kp
JOIN studio ON client.z_kf_studio = studio.z_kp
JOIN events ON events.asset_id = asset.z_kp
JOIN users ON events.user_id = users."id"
WHERE post_history IS NOT NULL
AND events.created_at BETWEEN LOCALTIMESTAMP - INTERVAL '7 days' AND LOCALTIMESTAMP
AND client.display_name = 'xxxxx'
AND events.description = 'xxxxxxxx'
GROUP BY location, username
非常感谢您的帮助尼克在评论中给出了正确的答案。为完整起见,请在此转录: 而不是:
localtimestamp - INTERVAL '7 days'
做:
例如:
SELECT '2018-01-9' BETWEEN TIMESTAMP_SUB(localtimestamp, INTERVAL 7 DAY) AND localtimestamp
FROM (SELECT TIMESTAMP('2018-01-15') localtimestamp)
我认为BigQuery不支持这样的日期数学(即使用
-
操作符)。而且“7天”
应该是7天
。试试DATE\u SUB(本地时间戳,间隔7天)
谢谢,它成功了!!!这一个怎么样?client.display_name='xxxxx',显然不接受=。无法获取它。因此,应该是“和events.created”和“在日期和时间之间创建”和“SUB(LOCALTIMESTAMP,INTERVAL 7 DAY)”以及“LOCALTIMESTAMP和client.display”\u name='xxx'和events.description='xxxx'?非常感谢!
SELECT '2018-01-9' BETWEEN TIMESTAMP_SUB(localtimestamp, INTERVAL 7 DAY) AND localtimestamp
FROM (SELECT TIMESTAMP('2018-01-15') localtimestamp)