1

次のような構造のMySQLテーブル「犬」があります。

AgLevel  DogType  Total
1        1        10
2        1        29
3        1        30
1        2        20
2        2        14
3        2        28

したがって、これは、aglevel が 1 のタイプ 1 の犬が 10 頭、ag level が 2 のタイプ 1 の犬が 29 頭いることを示しています。

次のように再フォーマットしたいと思います。

DogType   Ag1   Ag2   Ag3
1         10    29    30
2         20    14    28

ここでも、1 の aglevel を持つタイプ 1 の犬が 10 匹いることがわかります。

これについてどうすればいいですか?

4

1 に答える 1

1
select dogType, 
       sum(case when agLevel = 1 then total else 0 end) as ag1,
       sum(case when agLevel = 2 then total else 0 end) as ag2,
       sum(case when agLevel = 3 then total else 0 end) as ag3
from dogs
group by dogType
于 2015-08-03T23:04:39.610 に答える