문제>

 


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 

 

 

참고블로그

https://velog.io/@donghoim/MySQL-DATETIME-%EC%9B%90%ED%95%98%EB%8A%94-%EC%9C%A0%ED%98%95%EC%9C%BC%EB%A1%9C-%EB%B3%80%EA%B2%BD-YYMMDD

 

+ Recent posts