본문 바로가기
프로그래머스/MySQL

[프로그래머스] 진료과별 총 예약 횟수 출력하기 - MySQL - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2024. 9. 23.
728x90
반응형

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1. 문제 설명

반응형

2. 풀이과정

해당 문제는 2022년 5월에 예약한 환자 수를 진료과 코드 별로 조회하는 문제이다.

최종 결과의 컬럼명은 '진료과코드', '5월예약건수'로 지정한다.

2022년 5월에 예약한 환자 수를 조회해야 하므로 날짜 컬럼의 값이 '2022-05'인 값을 먼저 WHERE 구문에서 DATE_FORMAT() 함수를 활용해 조회한다.

이후 진료과 코드 별로 조회해야 하므로 GROUP BY 구문을 통해 진료과 코드를 기준으로 그룹을 만들어준다.

진료과별 예약한 환자 수를 조회할 때는 COUNT() 함수를 사용하여 각 그룹별 데이터 개수를 세어주면 된다.

최종 결과는 진료과별 예약한 환자 수를 기준으로 오름차순 정렬, 예약한 환자 수가 같다면 진료과 코드를 기준으로 오름차순 정렬하여 조회한다.

 

  1. 진료과 코드를 '진료과코드' 컬럼명으로 지정하고, 진료과별 예약한 환자 수를 '5월예약건수' 컬럼명으로 지정하여 조회한다. SELECT MCDP_CD AS '진료과코드', COUNT(*) AS '5월예약건수'
  2. 값을 조회할 테이블을 지정한다. FROM APPOINTMENT
  3. 2022년 5월에 예약한 환자 수를 조회해야 하므로 날짜 형식에서 '2022-05'가 있는 값들만 조회한다. WHERE DATE_FORMAT(APNT_YMD, "%Y-%m") = '2022-05'
  4. 진료과 코드 별로 조회를 해야 하므로 해당 컬럼 값을 기준으로 그룹을 만들어준다.  GROUP BY MCDP_CD
  5. 최종 결과는 진료과별 예약한 환자 수를 기준으로 오름차순 정렬, 진료과 코드를 기준으로 오름차순 정렬하여 조회한다. ORDER BY COUNT(*), MCDP_CD
728x90

3. 소스코드

SELECT MCDP_CD AS '진료과코드', COUNT(*) AS '5월예약건수'
FROM APPOINTMENT
WHERE DATE_FORMAT(APNT_YMD, "%Y-%m") = '2022-05'
GROUP BY MCDP_CD
ORDER BY COUNT(*), MCDP_CD
728x90
반응형