如何计算bigquery中项的出现次数

时间:2017-02-09 05:28:32

标签: google-bigquery

我试图在reddit comment bigquery 2015中找到某些短语的出现。这些短语也是通过运行查询获得的。我保存了表格结果,以便可以访问这些短语(存储在列中):

SELECT c
 FROM (
 SELECT title 
 FROM [lucid-bond-156818:bquijob_658cefdf_15a212b8aaf] #the phrases I want to search within reddit comment bigquery
 SELECT COUNT(title) as c in [fh-bigquery:reddit_comments.all_2015]
 )

我是SQL的初学者,所以我无法修复它,在最后一行我基本上想告诉查询计算reddit评论2015数据中的标题。

1 个答案:

答案 0 :(得分:2)

首先 - 尝试以下
此查询将为您提供标题列表以及此标题出现的评论数量。(我认为这是您要求的 - 如果我理解正确的话)

  
#legacySQL
SELECT title, COUNT(1) AS occurrences 
FROM [fh-bigquery:reddit_comments.2005] AS c
CROSS JOIN YourTableWithTitles
WHERE body CONTAINS title
GROUP BY title
ORDER BY occurrences DESC

以上假设您已将所有标题存储在YourTableWithTitles列的title表格中

正如您在此处所见,我使用[fh-bigquery:reddit_comments.2005]表而不是[fh-bigquery:reddit_comments.all_2015]视图。这是为了在测试时使查询变得便宜(2005表只有1075行,而all_2015视图跨越6.68亿行)。当您制作最终版本时 - 您可以切换回该视图

此外,由于此视图是使用旧版SQL编写的 - 使用此视图的查询也必须位于旧版SQL中,因此我也坚持使用

因为你是初学者 - 它并没有什么区别 - 但理想情况下当你进入它时 - 你应该检查BigQuery Standard SQL