Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Расширение запроса с группировкой  [new]
Red_raven
Member

Откуда: Беларусь, Минск
Сообщений: 30
Для примера возьмем следующую таблицу:

idfull_name city sex
1 Иванов Москва m
2 Кузнецова Москва f
3 Абрамович Лондон m
4 Саркози Париж m
5 Сидоров Москва m
6 Бруни Париж f


Обычный запрос с группировкой по городу:

select count(*), city
group by city
order by 1 desc

Выдаст

cnt city
3Москва
2 Париж
1 Лондон


Каким образом нужно составить запрос для получения информации следующего вида:

city cnt_of_male cnt_of_female
Москва 21
Париж11
Лондон1


???
11 ноя 11, 00:09    [11578637]     Ответить | Цитировать Сообщить модератору
 Re: Расширение запроса с группировкой  [new]
Flok
Member

Откуда:
Сообщений: 258
Red_raven
Для примера возьмем следующую таблицу:

idfull_name city sex
1 Иванов Москва m
2 Кузнецова Москва f
3 Абрамович Лондон m
4 Саркози Париж m
5 Сидоров Москва m
6 Бруни Париж f


Обычный запрос с группировкой по городу:

select count(*), city
group by city
order by 1 desc

Выдаст

cnt city
3Москва
2 Париж
1 Лондон


Каким образом нужно составить запрос для получения информации следующего вида:

city cnt_of_male cnt_of_female
Москва 21
Париж11
Лондон1


???


select city, SUM(decode(sex, 'm', 1, 0)) cnt_of_male, SUM(decode(sex, 'f', 1, 0)) cnt_of_female
group by city
order by count(*) desc

поле sex должно быть всегда заполненным и принимать значение f or m
11 ноя 11, 00:29    [11578669]     Ответить | Цитировать Сообщить модератору
 Re: Расширение запроса с группировкой  [new]
Red_raven
Member

Откуда: Беларусь, Минск
Сообщений: 30
Flok, благодарю, все, как обычно на выходе, тривиально. Но самому в голову не приходило. Еще раз спасибо!
11 ноя 11, 00:43    [11578702]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить