私はこれに似た状況を持っています: Sql - 複数の列に数えます
ここでもう一度分解します
私はこれらの値を持つテーブルを持っています:
num | type
-----+------
123 | 3
123 | 2
123 | 3
123 | 2
124 | 3
124 | 1
124 | 3
124 | 3
列ごとにグループ化し、num
それぞれの異なるタイプをカウントする列を作成したいと考えています。だから私は得るだろう:
num | 1 | 2 | 3
-----+---+---+---
123 | 0 | 2 | 2
124 | 1 | 0 | 3
その質問に対する最高の解決策は次のとおりです。
SELECT `num`,
SUM(type = 1) as `1`,
SUM(type = 2) as `2`,
SUM(type = 3) as `3`
FROM `your_table`
GROUP BY `num`
これを試すと、エラーが表示されます
"LECT NUM, SUM(type" の後に予期しないトークン "=" が見つかりました。予期されるトークンには、"CONCAT" が含まれる可能性があります。SQLSTATE=42601
誰かが db2 の実行可能な SQL クエリを教えてくれませんか?