Bigquery:Select 任何值不在 group by 子句中的列
Bigquery: Select a column with any value not in group by clause
这是一个经典问题,我知道这里有很多解决方法:Select a Column in SQL not in Group By 但它们不适用于我在 Bigquery 上的问题。
我有一个 table 来自 Twitter 的推文,我想要一个包含任何推文文本的 url 的排名。
ID tweet url
1 my github tweet http://www.github.com/xyz
2 RT github tweet http://www.github.com/xyz
3 another tweet http://www.twitter.com
4 more tweeting http://www.github.com/abc
我尝试了下面的查询,但是 id 1 和 2 是分开计算的。
SELECT tweet, count(url) as popularity, url FROM table group by tweet, url order by popularity desc
我如何才能 count/rank 正确地 count/rank 网址并仍然在结果中保留任何相关的推文文本?我不在乎它是来自 ID 1 还是 2。
这是一种方法:
SELECT url, COUNT(*) AS popularity, GROUP_CONCAT(tweet)
FROM Table GROUP BY url ORDER BY popularity
GROUP_CONCAT 聚合函数将连接所有与相同 URL 关联的推文,使用逗号作为分隔符(您可以选择另一个分隔符作为 GROUP_CONCAT 的第二个参数)。
我不确定这是否适用于 google-bigquery,我没有使用过它,但这是一个纯 sql 我认为它可能适合你。
在子查询中获取 url
的 count
,然后 join
它与 url
上的 table:
select t.id,t.tweet,t.url,q.popularity
from table t
join
(SELECT url, count(url) as popularity
FROM table group by url) q
on t.url=q.url
order by q.popularity desc
这是一个经典问题,我知道这里有很多解决方法:Select a Column in SQL not in Group By 但它们不适用于我在 Bigquery 上的问题。
我有一个 table 来自 Twitter 的推文,我想要一个包含任何推文文本的 url 的排名。
ID tweet url
1 my github tweet http://www.github.com/xyz
2 RT github tweet http://www.github.com/xyz
3 another tweet http://www.twitter.com
4 more tweeting http://www.github.com/abc
我尝试了下面的查询,但是 id 1 和 2 是分开计算的。
SELECT tweet, count(url) as popularity, url FROM table group by tweet, url order by popularity desc
我如何才能 count/rank 正确地 count/rank 网址并仍然在结果中保留任何相关的推文文本?我不在乎它是来自 ID 1 还是 2。
这是一种方法:
SELECT url, COUNT(*) AS popularity, GROUP_CONCAT(tweet)
FROM Table GROUP BY url ORDER BY popularity
GROUP_CONCAT 聚合函数将连接所有与相同 URL 关联的推文,使用逗号作为分隔符(您可以选择另一个分隔符作为 GROUP_CONCAT 的第二个参数)。
我不确定这是否适用于 google-bigquery,我没有使用过它,但这是一个纯 sql 我认为它可能适合你。
在子查询中获取 url
的 count
,然后 join
它与 url
上的 table:
select t.id,t.tweet,t.url,q.popularity
from table t
join
(SELECT url, count(url) as popularity
FROM table group by url) q
on t.url=q.url
order by q.popularity desc