profile image

L o a d i n g . . .

https://school.programmers.co.kr/learn/courses/30/lessons/131697

SELECT MCDP_CD AS '진료과코드', COUNT(PT_NO) AS '5월예약건수'
FROM APPOINTMENT
WHERE APNT_YMD LIKE '2022-05%'
GROUP BY MCDP_CD
ORDER BY 5월예약건수, 진료과코드

찾아야 하는 값

  1. 2022년 5월에 예약
  2. 환자 수

조회 할 테이블: APPOINTMENT

조건

  1. 컬럼명을 '진료과코드', '5월예약건수'로 지정
  2. 진료과별 예약한 환자수를 기준으로 오름차순 정렬
  3. 예약한 환자 수가 같다면 진료과 코드를 기준으로 오름차순 정렬

풀이

1. 컬럼명을 '진료과코드', '5월예약건수'로 지정 (SELECT, FROM 절)

SELECT MCDP_CD AS '진료과코드', COUNT(PT_NO) AS '5월예약건수'
FROM APPOINTMENT
  • AS 별칭 으로 사용하면 됨
  • 별칭에 띄어쓰기가 있다면 따옴표 사용해야 함

 

2. 2022년 5월에 예약 (WHERE 절)

SELECT MCDP_CD AS '진료과코드', COUNT(PT_NO) AS '5월예약건수'
FROM APPOINTMENT
WHERE APNT_NO LIKE '2022-05%'
  • LIKE 절 사용
  • 데이터 끝에 %를 사용하면 2022-05로 시작하는 문자가 있는 ROW 출력

 

3. 진료과별 예약한 환자 수 구하기

SELECT MCDP_CD AS '진료과코드', COUNT(PT_NO) AS '5월예약건수'
GROUP BY MCDP_CD
  • GROUP BY와 집계 함수인 COUNT를 통해 진료과별 예약한 환자 수를 구함
  • 진료과 코드(MCDP_CD)를 기준으로 환자 번호(PT_NO)의 개수를 세어 5월 예약건수를 구함

 

3. 진료과별 예약한 환자 수를 기준으로 오름차순 + 진료과 코드를 기준으로 오름차순 정렬

ORDER BY 5월예약건수, 진료과코드
  • ORDER BY를 통해 오름차순 정렬 (DESC를 따로 명시하지 않을 경우, Default 값은 ASC (오름차순))
  • GROUP BY, ORDER BY, HAVING 절에 별칭을 사용할 경우, 별칭 그대로 사용하거나 '별칭'과 같이 억음부호인 ` ` (Backtick)을 사용해야 함
복사했습니다!