SQL 문제

문제 27. 진료과별 총 예약 횟수 출력하기(난이도 7)

kagan-draca 2024. 7. 17. 15:20

 

문제를 푸는데 오랜 시간이 걸렸다. 이유로는 TIMESTAMP 자료형에서 연도(YEAR), 월(MONTH)을 추출하는 함수를 찾는데 시간이 조금 걸렸고

 

정렬 부분에서 결과가

 

"진료과별 예약한 환자 수를 기준으로 오름차순 정렬하고,

예약한 환자 수가 같다면 진료과 코드를 기준으로 오름차순 정렬한다" 

(정답 : ORDER BY COUNT(MCDP_CD) ASC, 진료과코드 ASC)

 

인데, 

 

ORDER BY "5월예약건수"(COUNT(*)) ASC, 진료과코드 ASC

 

로 개수를 먼저 정렬하고, 진료과코드로 정렬을 진행했기 때문이다.

 

마지막으로 시간이 가장 빼았긴 이유는 예약 취소 여부 때문이다.

개인적인 생각으로는 APNT_CNCL_YN이 N과 NULL인 것만

결과로 출력해야 한다고 생각했기 때문에 

이 부분을 고려해보다 시간을 많이 소비하게 됐다...

 

제출한 코드 : 

 

SELECT MCDP_CD AS 진료과코드, Count(*) AS '5월예약건수'
FROM APPOINTMENT
WHERE MONTH(APNT_YMD) = '05' AND YEAR(APNT_YMD) = '2022'
GROUP BY 진료과코드
ORDER BY COUNT(MCDP_CD) ASC, 진료과코드 ASC