연도별 컬럼 추출 0 2 203

by NGJ [SQL Query] SQL MySQL [2020.05.21 13:18:50]


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 절에 서브쿼리를 사용해야 하나요? 

확인해주시면 정말 감사드리겠습니다.

 

by 마농 [2020.05.21 14:51:35]

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
;



 


by NGJ [2020.05.21 15:10:41]

아 이렇게 하는 방법이 있군요.

정말 감사드립니다!!!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입