问题描述
希望为 gdelt 中的搜索添加一个月。 如果我只使用年份,代码效果很好; 但如果我找一个月(比如 2019-11),结果是空的。
tnx 为您提供帮助!
SELECT
person,SUM(count_of_mentions) AS all_mentions
FROM
`static-beach-312816.56146_2021_class_materials..israel_media_person_sum`
WHERE
domain = 'walla.co.il'
AND SUBSTR(CAST(DATE AS STRING),1,4) = '2019'
GROUP BY
person
ORDER BY
all_mentions DESC
LIMIT
50;
解决方法
你可以试试
EXTRACT(month FROM DATE) = 11 AND EXTRACT(year FROM DATE) = 2019
检查这个 https://cloud.google.com/bigquery/docs/reference/standard-sql/date_functions
您也可以尝试以下您正在尝试的方法,但我会选择上面的选项。
CONCAT(CAST(EXTRACT(EXTRACT(YEAR FROM DATE (Date)) AS STRING),"-",CAST(EXTRACT(MONTH FROM DATE (Date)) AS STRING))=‘2019_11’
,-- 不要忘记将下面的 Project.Dataset.Tale 更改为您的! -- 这是 2019 年 1 月的
SELECT
person,SUM(count_of_mentions) AS all_mentions
FROM
`gdeltgkgtry.56146_2021_class_materials.israel_media_person_sum`
WHERE
domain = 'walla.co.il'
AND SUBSTR(CAST(DATE AS STRING),1,6) = '201901'
GROUP BY
person
ORDER BY
all_mentions DESC
LIMIT
50;
-- 这是 2019 年的所有月份
SELECT
person,SUBSTR(CAST(DATE AS STRING),6) AS year_month,4) = '2019'
GROUP BY
person,year_month
ORDER BY
all_mentions DESC
LIMIT
50;
-- 这是本杰明·内塔尼亚胡在 2019 年的所有月份(请注意,这里我们捕获了所有网址中提及的所有类型的内塔尼亚胡)
WITH
person_all AS (
SELECT
person,SUM(count_of_mentions) AS all_mentions
FROM
`gdeltgkgtry.56146_2021_class_materials.israel_media_person_sum`
WHERE
domain = 'walla.co.il'
AND SUBSTR(CAST(DATE AS STRING),4) = '2019'
AND LOWER(person) LIKE '%in netanyah%'
GROUP BY
person,year_month )
SELECT
'Benjamin Netanyahu',year_month,SUM(all_mentions) AS all_mentions
FROM
person_all
GROUP BY
1,2
ORDER BY
2 ASC;