我正在尝试计算术语“比特币”在GDELT数据库的主题列中出现的频率,然后按日期对计数进行分组。这是我到目前为止所知道的:
SELECT DATE, SPLIT(RTRIM(Themes,';'),';') themes
FROM `gdelt-bq.gdeltv2.gkg_partitioned` WHERE _PARTITIONTIME >= "2020-11-01 00:00:00" AND _PARTITIONTIME < "2020-11-07 00:00:00"
#and (Themes like "%BITCOIN%")
#or (AllNames like "%bitcoin%" or AllNames like "%BITCOIN%")
and length(Themes) > 1
) select count(theme) cnt from nested, UNNEST(themes) as theme WHERE theme like "%BITCOIN%"
group by DATE这是正确的方法吗?谢谢!
发布于 2020-11-11 05:10:55
下面是针对BigQuery标准SQL的说明
#standardsql
select date(_partitiontime) date, count(theme) occurences
from `gdelt-bq.gdeltv2.gkg_partitioned`, unnest(split(themes,';')) as theme
where _partitiontime >= "2020-11-01 00:00:00" and _partitiontime < "2020-11-07 00:00:00"
and lower(theme) like "%bitcoin%"
group by date
-- order by date with output

https://stackoverflow.com/questions/64766110
复制相似问题