異なるデータ型を持つ複数の変数についてデータベースをクエリしたいと思います。WHEREを使わないで複数の条件を指定したMySQLクエリ
私のクエリは次のようになります。
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
実は私は最初の2つのクエリの結果を総括する必要はありませんが、そうでなければ、私は出力として「0」を持っているでしょう。合計で私は正しい答えを得た。
ただし、データ型がテキストであるため、この回避策は "A0_RISE"の場合は実行できません。 SUM関数がなければ、私はここでも出力 "0"を得ました。
どのようにすべての変数の出力を得ることができますか?あなたがダブルスのSUM回避策よりも良いアイデアを持っているなら、私はここでそれについて非常に感謝しています!
一般的なGROUP BYルールは次のように言います。GROUP BY句が指定されている場合、SELECTリストの各列参照は、グループ化列を特定するか、または集合関数の引数でなければなりません! – jarlh
実際には非常に醜い解決策ではありませんが、SUMの代わりにMAXを使用することができます。返す値は常に1つだけです – Johan
予期した結果のサンプルデータを投稿してください – Madhivanan