Google bigquery 如何在BigQuery中使用EXISTS并获取与过去日志匹配的内容

Google bigquery 如何在BigQuery中使用EXISTS并获取与过去日志匹配的内容,google-bigquery,Google Bigquery,我想知道。今天访问的人过去访问过吗?人数 SELECT COUNT(user_id) AS repeater_user_count FROM [access_log] AS table1 WHERE _PARTITIONTIME = TIMESTAMP('2017-02-28') AND EXISTS ( SELECT 1 FROM [access_log] AS table2 WHERE _PARTITIONTIM

我想知道。今天访问的人过去访问过吗?人数

SELECT
  COUNT(user_id) AS repeater_user_count
FROM
  [access_log] AS table1
WHERE
  _PARTITIONTIME = TIMESTAMP('2017-02-28')
AND
  EXISTS
  (
    SELECT
      1
    FROM
      [access_log] AS table2
    WHERE
      _PARTITIONTIME BETWEEN TIMESTAMP('2017-01-31') AND TIMESTAMP('2017-02-27')
    AND
      table1.user_id = table2.user_id
  )
但是,BigQueryUI会发出一个错误

Error: error at: 8.1 - 13.184. Only one query can be executed at a time.
如何通过BigQuery引用同一个表

谢谢。

请先确认一下。比如说,

#standardSQL
SELECT
  COUNT(user_id) AS repeater_user_count
FROM
  `access_log` AS table1
WHERE
  _PARTITIONTIME = '2017-02-28'
AND
  EXISTS
  (
    SELECT
      1
    FROM
      `access_log` AS table2
    WHERE
      _PARTITIONTIME BETWEEN '2017-01-31' AND '2017-02-27'
    AND
      table1.user_id = table2.user_id
  );

考虑

的另一种选择 标准SQL 选择COUNTuser\u id作为中继器用户计数 从…起 选择不同的用户标识 从“访问日志” 其中_PARTITIONTIME='2017-02-28' 用户标识在哪里 选择不同的用户标识 从“访问日志” 其中_“2017-01-31”和“2017-02-27”之间的分区时间
@YamadaJP-它不是关于标准-它更多的是关于在vs EXISTS中使用的逻辑,甚至更重要-使用DISTINCT使查询更高效,顺便说一句,否则您的计数是错误的:oI很高兴它有帮助!当其中一个答案解决了您关于StackOverflow的问题时,请接受并有选择地向上投票。有关更多信息,请参阅。