@Rphoenix

Объедение в группировке?

Всем привет!
ID - номер класса (1-11), NAME - название класса (класс первый - класс одиннадцатый, т.е. строка) и COUNT - сколько учеников в классе. Допустим так.

select ID, NAME, COUNT(*) from class c
group by c.id, c.name

Он выводит

1 первый класс 40
2 второй класс ....

А мне нужно в три строки

Начальная школа
Средняя школа
Младшая школа

где sum по 1-4, 5-9 и 10-11 соответственно.
То есть тут нужен case when.... having...? Как правильнее?
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
@MaximaXXl
select case when id in (1,2,3,4) then 'Начальная школа'
            when id in (5,6,7,8,9) then 'Средняя школа'
            when id in (10,11) then 'Младшая школа'
           end Class_type,
 COUNT(*) from class c
group by Class_type

Только расставьте правильно названия для классов, а то 10,11 явно не 'Младшая школа' :-)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы