我不想从reddit评论中提取一张非常大的表格。你能告诉我为什么这不起作用吗?
SELECT link_id, body ,
FROM
[fh-bigquery:reddit_comments.2016_03]
group BY 1, 2
limit 1000
答案 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