Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google bigquery Google BigQuery-基于一列获取唯一行_Google Bigquery - Fatal编程技术网

Google bigquery Google BigQuery-基于一列获取唯一行

Google bigquery Google BigQuery-基于一列获取唯一行,google-bigquery,Google Bigquery,你有这个大疑问吗 select JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.clone_url") AS clone_url, JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.language") AS language, integer(JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.stargazers_

你有这个大疑问吗

select JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.clone_url") AS clone_url, JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.language") AS language, integer(JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.stargazers_count")) as stars from githubarchive:day.20200115 where  JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.language")="C" group by language,clone_url,stars order by stars DESC limit 1000;
它返回多个带有唯一“星号”的“克隆url”条目

如何仅显示克隆url的最高唯一starcount

这个查询可以优化吗

以下是查询结果:


谢谢,

看起来您仍然在使用BigQuery遗留SQL-下面是遗留SQL

#legacySQL 
SELECT 
  JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.clone_url") AS clone_url, 
  JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.language") AS language, 
  MAX(INTEGER(JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.stargazers_count"))) AS stars 
FROM [githubarchive:day.20200115]
WHERE  JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.language")="C" 
GROUP BY language, clone_url 
ORDER BY stars DESC 
LIMIT 1000  
请注意:强烈建议迁移到BigQuery标准SQL,因此上面的内容如下所示

#standardSQL
SELECT 
  JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.clone_url") AS clone_url, 
  JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.language") AS language, 
  MAX(CAST(JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.stargazers_count") AS INT64)) AS stars 
FROM `githubarchive.day.20200115`
WHERE  JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.language")="C" 
GROUP BY language, clone_url 
ORDER BY stars DESC 
LIMIT 1000   
上述两个查询都将返回如下内容


看起来您仍然在使用BigQuery遗留SQL—下面是遗留SQL的介绍

#legacySQL 
SELECT 
  JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.clone_url") AS clone_url, 
  JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.language") AS language, 
  MAX(INTEGER(JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.stargazers_count"))) AS stars 
FROM [githubarchive:day.20200115]
WHERE  JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.language")="C" 
GROUP BY language, clone_url 
ORDER BY stars DESC 
LIMIT 1000  
请注意:强烈建议迁移到BigQuery标准SQL,因此上面的内容如下所示

#standardSQL
SELECT 
  JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.clone_url") AS clone_url, 
  JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.language") AS language, 
  MAX(CAST(JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.stargazers_count") AS INT64)) AS stars 
FROM `githubarchive.day.20200115`
WHERE  JSON_EXTRACT_SCALAR(payload, "$.pull_request.base.repo.language")="C" 
GROUP BY language, clone_url 
ORDER BY stars DESC 
LIMIT 1000   
上述两个查询都将返回如下内容