我想用不同的數據類型在多個變量上查詢數據庫。有多個條件的MySQL查詢沒有WHERE
我的查詢是這樣的:
SELECT var1, var2,
SUM(CASE WHEN var3 ='2008' AND var4='A1_U18' THEN var5 ELSE 0 END) AS 'A1_U18_7',
SUM(CASE WHEN var3='2015' AND var4='A1_U18' THEN var5 ELSE 0 END) AS 'A34_U15_0',
CASE WHEN var3 = '2015' AND var4 = 'A0_RISE' THEN var5 ELSE 0 END AS 'A0_RISE'
FROM dataset1
GROUP BY var1
其實我也不需要總結前兩個查詢的結果,但否則我會得到一個「0」的輸出。用這筆錢我得到了正確的答案。
但是,在「A0_RISE」的情況下,此解決方法無法實現,因爲數據類型是文本。沒有SUM函數,我在這裏得到了輸出「0」。
我怎樣才能得到所有變量的輸出權?如果你有一個比SUM更好的辦法,那麼我會非常感激這裏的!
一般的GROUP BY規則說:如果指定了GROUP BY子句,SELECT列表中的每個列引用必須標識一個分組列或者是一個set函數的參數! – jarlh
不是一個好的解決方案,實際上非常醜陋,但是您可以使用MAX而不是SUM,以防總是隻有1個值返回 – Johan
發佈一些帶有預期結果的示例數據 – Madhivanan