코딩테스트 | SQL/프로그래머스

[프로그래머스 | SQL] 입양 시각 구하기(2)

iemxl 2024. 5. 27. 20:01

SQL 고득점 Kit > GROUP BY > 입양 시각 구하기(2)

 

 

입양 시각 구하(2)기 Lv.4

보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.

 

 

 

첫 번째 풀이 :     0점

SELECT HOUR(DATETIME) AS HOUR, COUNT(*) AS COUNT
FROM ANIMAL_OUTS
ORDER BY HOUR
  • HOUR이 7~19만 나와 오답처리
  • HOUR이 0~23으로 나와야 

 

 

 

 

두 번째 풀이:     100점

SET @HOUR = -1;
SELECT (@HOUR :=@HOUR + 1) AS HOUR,
        (SELECT COUNT(*)
        FROM ANIMAL_OUTS
        WHERE HOUR(DATETIME) = @HOUR) AS COUNT
FROM ANIMAL_OUTS
WHERE @HOUR < 23;
  • SET : COL 생성
  • @HOUR을 통해 변수 호출