У меня работает следующий запрос:
SELECT
COUNT(id), AgeRange
FROM
(
select
id,
case
when age < 0 then 'less than 0'
when age >= 0 and age <=30 then '0-30'
when age >= 31 and age <=60 then '31-60'
when age >= 61 and age <=90 then '61-90'
when age >= 91 then '91+'
when age = null then 'NO INFORMATION'
else 'no catagory'
end AS AgeRange
from queue
where DATE between '01-Apr-2011' and '05-May-2011'
) T
GROUP BY
AgeRange;
Теперь мое требование состоит в том, чтобы я хотел, чтобы эти результаты печатались всегда в последовательности, сначала для менее 0, чем для 31-60 и так далее.
Даже если получить счет 0 для любого интервала, скажем, 31-60. Он должен вернуть 0 для этого интервала. Может кто-нибудь помочь.
Дальнейшее уточнение: я хочу, чтобы в любом случае я получал нулевой счет, он также должен напечатать это.
В моей таблице базы данных для этого запроса не отображается регистр 'меньше 0':
COUNT(ID) AGERANGE AGERANGESEQUENCE
-------------- -------------- ----------------
11139 0-30 2
2292 31-60 3
329 61-90 4
1078 91+ 5
746 NO INFORMATION 6
Это не показывает мне первый ряд счета 0.
Я тоже этого хочу, чтобы я мог получить четко определенную структуру таблицы.