문제>
DOCTOR 테이블에서 진료과가
흉부외과(CS)이거나 일반외과(GS)인 의사의 이름, 의사ID, 진료과, 고용일자를 조회하는 SQL문을 작성해주세요.
이때 결과는 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬해주세요.
풀이>
날짜부분이
기존 데이터는 2020-03-01 00:00:00 이런식으로 되어 있었다.
이부분을 DATE_FORMAT(HIRE_YMD, '%X-%m-%d') AS HIRE_YMD 이렇게 처리해야 원하는 출력을
처리할 수 있다.
두번째. CS와 GS로만 구별해야 한다.
WHERE MCDP_CD IN ('CS','GS')
세번째 고용일자를 기준 내림차순, 같다면 이름을 기준으로 오름차순
ORDER BY HIRE_YMD DESC, DR_NAME
코드>>>
SELECT DR_NAME
,DR_ID
,MCDP_CD
,DATE_FORMAT(HIRE_YMD, '%X-%m-%d') AS HIRE_YMD
FROM DOCTOR
WHERE MCDP_CD IN ('CS','GS')
ORDER BY HIRE_YMD DESC, DR_NAME
참고블로그
'SQL' 카테고리의 다른 글
프로그래머스 LV1_조건에 맞는 회원수 구하기_MySQL (0) | 2022.10.24 |
---|---|
프로그래머스_LV1_가장 비싼 상품 구하기 (0) | 2022.10.24 |
[프로그래머스_SQL_LV1] 경기도에 위치한 식품창고 목록 출력하기 (0) | 2022.10.11 |
최댓값 구하기 (0) | 2022.10.10 |
Weather Observation Station 7 (0) | 2022.07.22 |