分组依据选择不起作用

pan*_*jmi 3 google-bigquery

我有两个表,我的外部选择聚合所有那些存在于我放在where子句中的另一个表中的id.两个表都是使用通配符函数生成的.以下是查询 -

SELECT count(id), timestamp  FROM (TABLE_QUERY(dataset1, 'expr'))  
WHERE id IN (SELECT id FROM (TABLE_QUERY(dataset1, 'expr')) 
WHERE timestamp < 1414670361836)  ) group by timestamp
Run Code Online (Sandbox Code Playgroud)

我收到以下错误 -

查询失败错误:(L1:56):JOIN(包括半连接)和UNION ALL(逗号)可能不会合并到单个SELECT语句中.将UNION ALL移动到内部查询或将JOIN移动到外部查询.

有人可以指出我是什么问题,我该如何解决它.

Fel*_*ffa 7

使用处理公共数据的查询重新措辞.

这不起作用:

SELECT COUNT(actor), created_at
FROM (TABLE_QUERY([publicdata:samples], "table_id CONTAINS 'github'"))
WHERE actor IN (
  SELECT actor
  FROM (TABLE_QUERY([publicdata:samples], "table_id CONTAINS 'github'"))
  WHERE created_at > '')  
GROUP BY created_at

Error: (L2:1): JOIN (including semi-join) and UNION ALL (comma) may not be combined in a single SELECT statement. Either move the UNION ALL to an inner query or the JOIN to an outer query.
Run Code Online (Sandbox Code Playgroud)

这样做:

SELECT COUNT(actor), created_at
FROM (
  SELECT actor, created_at
  FROM (TABLE_QUERY([publicdata:samples], "table_id CONTAINS 'github'"))
)
WHERE actor IN (
  SELECT actor
  FROM (TABLE_QUERY([publicdata:samples], "table_id CONTAINS 'github'"))
  WHERE created_at > ''
  LIMIT 100)  
GROUP BY created_at
Run Code Online (Sandbox Code Playgroud)

我只是感动了

  SELECT actor, created_at
  FROM (TABLE_QUERY([publicdata:samples], "table_id CONTAINS 'github'"))
Run Code Online (Sandbox Code Playgroud)

内部查询.