본문 바로가기
SQL

[SQL] 프로그래머스 고득점 kit - GROUP BY / 입양 시각 구하기(1)

by pearhyunjin 2024. 3. 15.

 

 

프로그래머스 SQL 고득전 kit를 풀어보고 정리한 내용입니다.

맞춘 정답과 틀린 경우 생각해내지 못한 문법 위주로 작성하였습니다.

정리 내용 출처는 아래를 참고해 주세요.

 


 

Lv.2 입양 시각 구하기

 

 

 

처음 작성 답안

 

DATE_FORMAT()을 이용해 DATETIME 내용 중 시간에 해당하는 H만을 가져와 이용하였다.

시간을 기준으로 그룹화하고, 그 그룹에 조건을 주기 위해 HAVING을 이용하였다.

SELECT
    DATE_FORMAT(DATETIME,"%H") AS HOUR,
    COUNT(*) AS COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR
HAVING HOUR BETWEEN 9 AND 19
ORDER BY HOUR

 

 

추가 답안

 

HOUT()을 이용해 작성하는 방식 이용

SELECT
    HOUR(DATETIME) AS HOUR,
    COUNT(*) AS COUNT
FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) BETWEEN 9 AND 19
GROUP BY HOUR
ORDER BY HOUR;

 

 


 

날짜 데이터 일부 추출

  • YEAR : 연도 추출
  • MONTH : 월 추출
  • DAY : 일 추출 (DAYOFMONTH와 같은 함수)
  • HOUR : 시 추출
  • MINUTE : 분 추출
  • SECOND : 초 추출

 

DATEFORMAT 형식은 이전 게시물 참고
https://pearhj.tistory.com/109

 

[SQL] 프로그래머스 고득점 kit - 흉부외과 또는 일반외과 의사 목록 출력하기

Lv.1 흉부외과 또는 일반외과 의사 목록 출력하기 처음 작성 답안 WHRER에 OR를 이용해 조건을 주었다. 정렬을 여러가지 기준으로 주고자 할 때는 기준의 우선 순위 순서대로 (,)를 이용해 나열해주

pearhj.tistory.com

 

 


* https://extbrain.tistory.com/60