본문 바로가기
SQL/코딩테스트

[프로그래머스 / MySQL] 진료과별 총 예약 횟수 출력하기

by Hi_heidi 2024. 2. 2.

문제

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

 

테이블 형태

테이블 / 출력 결과 예시

 

풀이

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

 

해설

FROM APPOINTMENT
WHERE YEAR(APNT_YMD) = 2022 AND MONTH(APNT_YMD) = 05
 

[프로그래머스 / MySQL] 입양 시각 구하기(1)

문제 💡 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는

hei-ground.tistory.com

GROUP BY MCDP_CD
  • MCDP_CD 로 그룹핑해 진료과코드 별로 조회한다
SELECT MCDP_CD AS 진료과코드, COUNT(PT_NO) AS 5월예약건수
  • 환자번호(PT_NO)를 COUNT하여 예약한 환자 수를 집계한다
  • 출력 결과 테이블과 동일하게 컬럼명을 설정한다. 만일 띄어쓰기가 있을 경우 ' ' 또는 " "로 감싸주면 된다(ex. '진료과 코드')
ORDER BY 5월예약건수, 진료과코드
  • 진료과별 예약한 환자 수(=5월 예약건수)를 기준으로 오름차순 정렬하고, 환자 수가 같으면 진료과 코드를 기준으로 오름차순 정렬한다