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

Откуда:
Сообщений: 22
Помогите пожалуйста!!!
Есть таблица Users, с полями NAME(ФИО пользователя), DOB (дата рождения), SEX (пол).
Необходимо выбрать 3 колонки следующего содержания: число мальчиков и девочек, родившихся с 1980 по 2008 год.
Пример таблицы вот такой.
---------------------------------------------------------------
| ГОД | Кол-во мальчиков | Кол-во двочек |
---------------------------------------------------------------
1980 10 12
1981 11 6
1982 16 19
...............................................................................
2008 15 17
2 фев 09, 08:29    [6764808]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54383
Основа
SELECT extract(year from DOB)
sum(case when SEX = 'M' then 1 end) boys
FROM <>
group by extract(year from DOB)
2 фев 09, 08:41    [6764827]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
filig
Member

Откуда:
Сообщений: 33
Александр Сипачёв,
SELECT TRUNC(dob,'yyyy'), 
       COUNT(DECODE(sex,'M',1,0)), /* кол-во мальчиков */  
       COUNT(DECODE(sex,'W',1,0)), /* кол-во девочек */  
 FROM users
WHERE dob BETWEEN :dat1 AND :dat2
GROUP BY TRUNC(dob,'yyyy');
2 фев 09, 08:47    [6764835]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Александр Сипачёв
Member

Откуда:
Сообщений: 22
andreymx,
Спасибо огромное! Теперь все получилось. :)
2 фев 09, 08:47    [6764837]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Александр Сипачёв
Member

Откуда:
Сообщений: 22
filig, СПАСИБО!!!!
2 фев 09, 08:49    [6764841]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
MazoHist
Guest
2 filig: что вернется в результате
select count(0) from dual
?
Необходимо либо использовать другой агрегат, либо поменять значение по умолчанию в decode.
2 фев 09, 08:52    [6764847]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
filig
Member

Откуда:
Сообщений: 33
MazoHist,

Конечно Вы правы (поторопился). Вместо COUNT надо SUM
2 фев 09, 09:00    [6764861]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Batsall
Member

Откуда: Москва
Сообщений: 360
filig
MazoHist,

Конечно Вы правы (поторопился). Вместо COUNT надо SUM
Или вместо 0 выводить null.
2 фев 09, 12:21    [6766083]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54383
Batsall
filig
MazoHist,

Конечно Вы правы (поторопился). Вместо COUNT надо SUM
Или вместо 0 выводить null.
Ничего не выводить после 1, самое оно
2 фев 09, 12:35    [6766166]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить