![](/img/trans.png)
[英]How to get difference in aggregated value over a certain period of time using windows function in bigquery sql?
[英]SQL - how to get certain value and category to transform data?
這是表格的樣子:谷歌趨勢
我想知道印度尼西亞每個 region_name 中搜索最多的詞。 結果只是地區/省、術語以及這些“術語”被搜索了多少次。 我已經嘗試過,但結果給出了所有術語,我只想限制每個區域的頂部。
我試過的代碼:
SELECT region_name, term, count(term) AS Total_searched FROM bigquery-public-data.google_trends.international_top_rising_terms
WHERE refresh_date between "2022-01-01" AND "2022-09-06" AND country_name = "Indonesia" AND score IS NOT NULL按術語分組,按 Total_searched DESC 排序的 region_name
那么,從 2022 年初到今天,我如何獲得僅包含印度尼西亞所有 34 個地區以及每個地區搜索次數最多的關鍵詞的結果呢?
再次查詢結果並生成術語數組。
With data as
(
SELECT
region_name,
term,
COUNT(term) AS Total_searched
FROM
bigquery-public-data.google_trends.international_top_rising_terms
WHERE
refresh_date BETWEEN "2022-09-05"
AND "2022-09-06"
AND country_name = "Indonesia"
AND score IS NOT NULL
GROUP BY
term,
region_name
ORDER BY
Total_searched DESC
)
Select region_name, any_value(term) as any_term,
array_agg(term order by Total_searched desc limit 1)[safe_offset(0)] as most_term,
array_agg(struct(term,Total_searched) order by Total_searched desc limit 2) as terms,
from data
group by 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.