SQL/MY SQL 문제 풀이(프로그래머스)

[MYSQL] PROGRAMMERS_진료과별 총 예약 횟수 출력하기

몽총한몽이네 2024. 2. 21. 22:02
반응형

SELECT MCDP_CD as 진료과코드,count(APNT_NO) as 5월예약건수
FROM APPOINTMENT
WHERE 1=1
AND APNT_YMD like "2022-05%"
GROUP BY 1
ORDER BY 2,1

APNT_YMD, APNT_NO, PT_NO, MCDP_CD, MDDR_ID, APNT_CNCL_YN, APNT_CNCL_YMD는 각각 진료예약일시, 진료예약번호, 환자번호, 진료과코드, 의사ID, 예약취소여부, 예약취소날짜를 나타냄

 

문제

테이블에서 2022년 5월에 예약한 환자 수를 진료과코드 별로 조회하는 SQL문을 작성. 이때, 컬럼명은 '진료과 코드', '5월예약건수'로 지정 후 결과는 진료과별 예약한 환자 수를 기준으로 오름차순 정렬하고, 예약한 환자 수가 같다면 진료과 코드를 기준으로 오름차순 정렬

 

문제 결과값 예시에 보면 컬럼명을 한글로 써놓아 이건 바꿔야 한다고 주장하는 듯 해서 alias로 변경해 주었다.

2022년 5월에 예약한 환자수를 보아야 하기 때문에 필터에 like 2022-05% 를 걸어서 처리 하였고

진료과별 예약한 환자 수를 알아야 하기에 GROUP을 진료과 코드 기준으로 한 후 환자의 유니크한 값을 가지는 환자 번호를 기준으로 카운트 했다. 그후 환자 숫자 기준으로 정렬 후 진료과 코드로 정렬로 마무리 해서 답을 작성 하였다.

 

글을 쓰면서 사실 문제 풀이보단 내가 이걸 쓸 수 있다를 알리고 싶은데 쓰다보면 문제 풀이가 되어서 조금 민망한것 같다..

이런 문제는 보통 1~2분컷 이라 글쓰기도 살짝 민망하긴 한데 혹시 놓치는 부분이 있을까봐 초급부터 하나하나 쓰는 중이다..

 

 

반응형