簡體   English   中英

BigQuery:如何將共享相似術語的行匯總在一起

[英]BigQuery: How to sum rows that share a similar term together

我有下表,我希望創建一個包含 3 個方程式的查詢

  • 將“like%”和“%love%”的值加在一起並稱之為 Top 2 Box
  • 將“dislike%”和“%hate%”的計數加起來作為 Bottom 2 Box
  • “%neutral%”的總計數

出於某種原因,我的查詢正在生成 null,並且當我希望這 3 個值位於行中時,還將我想要的 3 個值作為它們自己的單獨列。

測試 2 活動表

價值觀 數數
5個
喜歡它 5個
5個
愛它 5個
1個
討厭它 0
不喜歡 3個
中性的 10

WIP(在制品)查詢

SELECT
  sum (CASE
      WHEN VALUES ="%love%" OR VALUES ="like%" THEN count
    ELSE
    NULL
  END
    ) AS Top2,
  sum (CASE
      WHEN VALUES ="%hate%" OR VALUES ="dislike%" THEN count
    ELSE
    NULL
  END
    ) AS Bottom2,
  sum (CASE
      WHEN VALUES ="%neutral%" THEN count
    ELSE
    NULL
  END
    ) AS Neutral
FROM
  `test 2 campaign rating`

output 來自查詢

Top2 底部 2 中性的
null null null

Top2 Bottom2 中性 null null null

希望 output

價值觀 數數
Top2 20
底部 2 4個
中性的 10

考慮以下查詢。

SELECT CASE 
         WHEN values LIKE "%love%" OR values LIKE "like%" THEN 'Top2'
         WHEN values LIKE "%hate%" OR values LIKE "dislike%" THEN 'Bottom2'
         ELSE 'Neutral'
       END AS values,
       SUM(count) AS count
  FROM campaign_table 
 GROUP BY values;

查詢結果

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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