2015-08-03 4 views
1

У меня есть MySQL таблицы «собаки» структурирована следующим образом:MySQL: Преобразование значений столбцов в заголовки с Суммарные

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

Так что это говорит, что есть 10 собак типа 1 с aglevel 1, 29 собак тип 1 с уровнем АГ 2 и т.д.

Я хотел бы переформатировать его так:

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

так и здесь мы можем видеть, что есть 10 собак типа 1 с aglevel равным 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 
Смежные вопросы