google-bigquery - 错误 : SELECT list expression references column created_utc which is neither grouped nor aggregated at [2:49]

标签 google-bigquery

我有一张 table :t

我的目标:仅提取表中得分最高的“id”,并按week_number 对其进行分组。

询问:

SELECT id, 
       CAST(EXTRACT(WEEK FROM TIMESTAMP_SECONDS(created_utc)) AS STRING) AS week_number, 
       MAX(score) AS highest_score
FROM t 
WHERE body='r/twinpeaks'
GROUP BY id;

我收到此错误:
错误:SELECT 列表表达式引用了在 [2:49] 处既未分组也未聚合的列 created_utc

我尝试这样做:
SELECT id, 
       CAST(EXTRACT(WEEK FROM TIMESTAMP_SECONDS(created_utc)) AS STRING) AS week_number, 
       MAX(score) AS highest_score
FROM  t 
WHERE body='r/twinpeaks'
GROUP BY week_number, id;

但这就是我得到的:
Row  id            week_number  highest_score    
1    dmkb6sv      36            1    
2    dn1cd2s      37            2    
3    dn43h1k      38            16   
4    dn3xf18      38            1    
5    dn7i1ko      38            1
6    dnpr9b1      39            1

我要这个:
Row  id            week_number  highest_score    
1    dmkb6sv      36            1    
2    dn1cd2s      37            2    
3    dn43h1k      38            16   
6    dnpr9b1      39            1

最佳答案

下面是 BigQuery 标准 SQL



#standardSQL
SELECT 
  EXTRACT(WEEK FROM TIMESTAMP_SECONDS(created_utc)) AS week_number,
  ARRAY_AGG(id ORDER BY score DESC LIMIT 1)[OFFSET(0)] id,
  ARRAY_AGG(score ORDER BY score DESC LIMIT 1)[OFFSET(0)] highest_score    
FROM `project.dataset.table` 
WHERE body = 'r/twinpeaks'
GROUP BY week_number
ORDER BY week_number

关于google-bigquery - 错误 : SELECT list expression references column created_utc which is neither grouped nor aggregated at [2:49],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49041489/

相关文章:

distinct - 如何使用 Google Big Query 在 GROUP_CONCAT 上获取不同的值

google-apps-script - 未找到 OAuth 客户端 - Google Apps 脚本 - BigQuery

google-bigquery - 如何使用 bigquery 流将嵌套数据插入现有记录

google-bigquery - BigQuery 域函数区分大小写差异

mysql - BigQuery 根据最接近的时间戳和匹配值合并表

google-bigquery - BigQuery Connected Sheets - 需要用户权限吗?

google-bigquery - 来自 Apache Beam 的 BigQuery 授权 View

google-bigquery - 如何将 WHERE 子句添加到 BigQuery Query 以查找列值不在值列表中的行

google-bigquery - 在bigquery中按月显示数据

regex - 使用正则表达式从 Google BigQuery 中的 url 中提取完整域