このクエリを正しく取得しようとすると問題が発生します。
次のデータを含むテーブルがあるとします。
id | xyz | code
===========================
1 | 1 | ba
2 | 1 | zz
3 | 1 | ba
1 | 1 | zz
1 | 1 | ba
2 | 1 | zz
そして、IDでグループ化された「xyz」の合計を取得したいと思います。
SELECT id, SUM(xyz) as mysum FROM table WHERE xyz=1 GROUP BY id
結果は次のようになります。
id | mysum
================
1 | 3
2 | 2
3 | 1
完全。
問題は、私が実際にやりたいことは、「コード」列でもグループ化することです。そのため、コード「ba」を持つ 2 つのエントリを持つ id: 1 の場合、結果は次のようになります。これ:
id | mysum
================
1 | 2
2 | 1
3 | 1
ここで、mysql に関する私の限られた理解が失敗します。次のようなクエリを実行すると思うからです。
SELECT id, SUM(xyz) AS mysum FROM table WHERE xyz=1 GROUP BY id, code
しかし、これは明らかに私が望んでいない結果をもたらします。
同じ「コード」を持つ列が既に追加されている場合は省略しながら、列 xyz の SUM を実行するこの種のクエリを実行するにはどうすればよいですか?