SQL/프로그래머스 SQL

MySQL 프로그래머스 SQL 고득점 Kit 입양 시각 구하기(1) 문제 답

진리뷰 2023. 9. 25. 09:00
반응형

 

 

MySQL-프로그래머스-SQL-고득점-Kit-입양-시각-구하기(1)-문제-답-썸네일
입양 시각 구하기(1) 문제 답 정리

 

 

 

프로그래머스 SQL 고득점 Kit 입양 시각 구하기(1) 문제, 답 공유합니다.

*MySQL 버전입니다.

 

 

 

프로그래머스 입양 시각 구하기(1) 문제 및 예시

 

  • 입양 시간 09:00~19:59까지 시간 별 입양 건 수 출력.
  • 시간 순 정렬.

 

입양 시각 구하기(1) 문제

 

 

  • 시간 컬럼 HOUR, 건 수 컬럼 COUNT 별칭 사용.

 

MySQL-프로그래머스-SQL-고득점-Kit-입양-시각-구하기(1)-문제-예시
입양 시각 구하기(1) 문제 예시

 

 

 

프로그래머스 입양 시각 구하기(1) 답

 

SELECT HOUR(datetime) HOUR, COUNT(datetime) COUNT

FROM animal_outs

WHERE HOUR(datetime) BETWEEN 9 AND 19

GROUP BY 1;

ORDER BY 1;

 

 

 

입양 시각 구하기(1) 답 추가 정리

 

#비교연산자 사용

SELECT HOUR(datetime) HOUR, COUNT(datetime) COUNT

FROM animal_outs

WHERE HOUR(datetime) >= 9 AND HOUR(datetime) <= 19

GROUP BY 1;

ORDER BY 1;

 

#HAVING 사용

SELECT HOUR(datetime) HOUR, COUNT(datetime) COUNT

FROM animal_outs

GROUP BY 1

HAVING HOUR BETWEEN 9 AND 19

ORDER BY 1;

 

#DATE_FORMAT 사용

SELECT DATE_FORMAT(datetime, '%H') HOUR, COUNT(datetime) COUNT

FROM animal_outs

WHERE DATE_FORMAT(datetime, '%H') BETWEEN 9 AND 19

GROUP BY 1

ORDER BY 1;

 

  • COUNT(*)=COUNT(1)
  • COUNT(*): NULL 포함
  • COUNT(컬럼): NULL 제외
  • ORDER BY 컬럼순서; 처럼 GROUP BY 컬럼순서 사용 가능.
  • HAVING절 컬럼은 SELECT문 컬럼에도 있어야 한다.
  • DATE_FORMAT 사용 시 %H와 %k는 모두 24시간 시를 나타낸다.
  • 하지만 %H는 0을 채우고(ex. 02, 09..) %k는  0을 채우지 않는다(ex. 2, 9..).

*해당 문제에서 DATE_FORMAT(datetime, '%k')는 오답처리 된다.

반응형
top