Bigquery-GROUP BY没有做任何事情

时间:2016-06-27 18:49:50

标签: google-bigquery

我不想从reddit评论中提取一张非常大的表格。你能告诉我为什么这不起作用吗?

SELECT  link_id,  body ,
FROM
  [fh-bigquery:reddit_comments.2016_03]
group BY  1,  2
limit 1000

1 个答案:

答案 0 :(得分:0)

  

没有错误。但是消息不会出现排序

看起来你的字面意思太过于收集GROUP BY并且期望为你输出视觉分组的行 - 这不是GROUP BY所做的事情 它用于计算聚合 - 检查GROUP BY子句以获取更多详细信息

在您的情况下ORDER BY看起来更加适合您的期望

例如,下面的查询为每个link_id返回3个最冗长的注释,并且输出被分组(在排序的意义上 - 不是聚合)

SELECT 
  link_id,  body
FROM (
  SELECT  
    link_id, body, 
    LENGTH(body) AS len, 
    ROW_NUMBER() OVER(PARTITION BY link_id ORDER BY len DESC) AS pos
  FROM
    [fh-bigquery:reddit_comments.2016_03]
)
WHERE pos < 4
ORDER BY link_id, pos
LIMIT 1000