쿼리 질문한번더 드립니다
멤버테이블에 태어난연도필드에 각멤버의 생년월일이 있습니다
이것으로 각 나이대별로 통계를 구하고싶습니다
그러니까
십대몇명 이십대몇명 삼십대몇명....
어떻게하면 나이대별 통계를 구할수있을까요?
10대, 20대, 30대 ... 70대 이런 경우라면,
그냥 태어난 해를 나누기 10해서 구하면 되겠죠.
문제는
10세부터 20세,
20세부터 24세까지
25세부터 28세까지
29세부터 32세까지,
32세부터 36세까지,
.....
이런식으로 현실적인 통계치가 필요해지면,
나이를 분류코드로 변환하는 함수를 하나 만들고, 그걸로 group by 하는 것인 보편적입니다.
좀 헷갈립니다
group by 라는게 특정필드의 각 값들에대한 검색방법인것같은데
연도필드의 값은 연도로 입력되어있는데
어떻게 group by 로 적용할수있는지를 잘모르겠습니다
어떻게든 연도를 가지고 나이계산하는부분은 할수있겠는데
계산된값으로 group by 를 적용시키는방법에대해서
한번더부탁드립니다
원하는 값인.. 나이대로 값을 바꾸고...
해당 값으로 group by 를 하면 됩니다.
select trunc(나이/10), count(*) from table group by trunc(나이/10) ;
답변감사합니다
group by 의다음에 필드이름이 와야되지않나여?
특정필드의이름이 와야
그필드의 각 값들에대해서 검색이 이루어지는줄알고있는데
제가 잘못알고있는건가여