조금은 복잡할지 몰라도 다음과 같이 query 를 주면 해결은 될 것 같은 생각이 드는군.
select to_char((date_part('year',now())/date_part('year',birth))/10,'99') as dd,count(*)
from t
group by dd;
응용하면 되지 않을까?
>>순돌이 님께서 쓰시길<<
:: 재익 형.. 고민해 주십시오.. .ㅋㅋ
::
:: 나이대별 즉, 10년대,20년대,30년대 별로 인원수를 추출하려는데
:: 잘 안되는군요..
::
:: birth 속성은 다음과 같습니다.
:: Attribute | Type | Modifier
:: ///////////+//////////////+//////////////////////
:: birth | date | not null
::
:: test=> select to_char(datetime(birth)::date, 'YYYY') as year,sex,country,count(*) from penpal5 g
:: roup by year,sex,country;
:: year | sex | country | count
:: //////+/////+////////////+///////
:: 1900 | F | japan | 7
:: 1900 | F | korea | 17
:: 1900 | M | japan | 9
:: 1900 | M | korea | 13
:: 1905 | M | korea | 1
:: 1910 | M | korea | 1
:: 1911 | F | japan | 1
:: 1911 | F | korea | 1
:: 1911 | M | korea | 1
:: 1912 | M | korea | 1
:: 1914 | M | korea | 1
:: 1915 | F | korea | 1
::
:: 위의 결과에서 1900 에서1919까지를 카운팅한 값을 추출할 수 있는지요..?
:: 1900 년대 30명
:: 1910 년대 234명
:: .
:: .
::
:: 아래와 같은 세기,밀레니엄은 가능한데 이 연대별 추출하는 방법은
:: 보이지가 않는군요..
:: test=> select to_char('1999/01/01'::timestamp, 'CC');
:: to_char
:: /////////
:: 20
:: (1 row)
::
:: test=> select date_part('century', '2000/01/01'::timestamp);
:: date_part
:: ///////////
:: 20
:: (1 row)
:: mailpal=> select date_part('millennium', '2222/01/01'::timestamp);
:: date_part
:: ///////////
:: 2
:: (1 row)
::
|