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

Yam*_* JP 2 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
      _PARTITIONTIME BETWEEN TIMESTAMP('2017-01-31') AND TIMESTAMP('2017-02-27')
    AND
      table1.user_id = table2.user_id
  )
Run Code Online (Sandbox Code Playgroud)

但是,BigQuery UI 会发出错误。

Error: error at: 8.1 - 13.184. Only one query can be executed at a time.
Run Code Online (Sandbox Code Playgroud)

如何通过 BigQuery 引用同一个表?

谢谢。

Ell*_*ard 5

确保首先启用标准 SQL。例如,

#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
  );
Run Code Online (Sandbox Code Playgroud)