簡體   English   中英

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM