SQL을 이제 배우기 시작한. 아주 초보적인 질문입니다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
SELECT gender, ageband, YEAR(JOIN_DATE) YYYY, COUNT(MEM_NO) TOT_MEM
FROM Member
GROUP
BY gender, ageband, YEAR(JOIN_DATE)
ORDER
BY 1, 2, 3
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
여기서 JOIN_DATE 데이터가 2018, 2019년으로 구성되어 있을경우
위의 쿼리는 2018, 2019년이 같이 나오는데 2018년 2019년 각각의 컬럼으로 만드는 방법은 뭐가 있을까요?
SELECT 절에 서브쿼리를 사용해야 하나요?
확인해주시면 정말 감사드리겠습니다.
mem_no 에 널이 없다면? mem_no 로 카운트 하기 보다는 그냥 1 을 카운트 하는게 좋습니다.
- THEN mem_no END
- THEN 1 END -- 널이 없다면? 이렇게.
SELECT gender , ageband , COUNT(CASE YEAR(join_date) WHEN '2018' THEN mem_no END) cnt_2018 , COUNT(CASE YEAR(join_date) WHEN '2019' THEN mem_no END) cnt_2019 FROM Member GROUP BY gender, ageband ORDER BY gender, ageband ;