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

[프로그래머스] SQL 문제풀이 - 진료과별 총 예약 횟수 출력하기

by whdgus928 2023. 1. 2.

문제

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

SELECT MCDP_CD as 진료과코드, count(MCDP_CD) as 5월예약건수 #as로 원하는 컬럼명으로 변경
from APPOINTMENT
where APNT_YMD like '2022-05%' #where like 절을 통해 문자열을 포함하는지 확인
group by 진료과코드
order by 5월예약건수 asc, 진료과코드 asc

이번문제의 핵심은 where like를 통해 문자열을 검색할 수 있는지입니다.

 

col1 컬럼에서 '2022-05'가 있는지 확인하고 싶다면, (전체 일치해야함)

where col1 like '2022-05'  해주시면 됩니다.

 

추가로

1. 2022-05로 시작되는 문자열을 검색할 때 -> where col1 like '2022-05%'

2. 2022-05로 끝나는 문자열을 검색할 때 -> where col1 like '%2022-05'

3. 2022-05이 중간에 있는 문자열을 검색할 때 -> where col1 like '%2022-05%'

 

검색을 원하는 문자열 위치에 따라 적절히 %를 집어넣어 검색 할 수 있습니다.

반응형

댓글