Zliczanie wieku według ustalonych przedziałów

0

Witam

Mam takie pytanie:

Musze zliczyć ile jest osobników w danym przedziale wiekowym. W tabeli mam kolumne wiek oraz zadeklarowane przedziały:

do 15 lat
16-30 lat
31-50 lat
51-70 lat
od 71 lat

Zrobiłem to w ten sposób:
select count() dla I przedział
union
select count(
) dla II przedział
union
...

Da się to zrobić bardziej elegancko, bo szczerze mówiąc ten sposób jest trochę naciągany, ale działa ?? ;-)

Edit:
Wyniki mam otrzymać w postaci:
Przedział I | liczba
Przedział II | liczba
itd.

0

ja bym poszukal czegos w funkcja PARTITION BY
Dziala od wersji TSQL 2005

0

SELECT
SUM(CASE WHEN WIEK <= 15 THEN 1 ELSE 0 END) AS P1,
SUM(CASE WHEN WIEK > 15 AND WIEK WIEK <=30 THEN 1 ELSE 0 END) AS P2,
..

b

0

Zapomniałem napisać, że wyniki mają być w postaci:
Przedział I | liczba
Przedział II | liczba
itd.

więc b0bik twój sposób mi się nie przyda, ale dzięki

0

No to istotny szczegół : ) Zrób sobie stored procke która wykorzystuje zapytanko które Ci dałem a potem zwraca każdą kolumnę - troche kombinowania. Co Ci sie nie podoba w tym unionie skoro działa.

b

0

tak tylko pytałem z ciekawości, czy jest jakiś lepszy sposób :)

Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1