[PRO] 입양 시각 구하기 - Lv2, Lv4

jooo·2023년 11월 23일
0

SQL 고득점 Kit

목록 보기
16/24

💻 SQL 고득점 Kit > GROUP BY

1. 입양 시각 구하기(1) - Lv2

✏️ 풀이

문제: 각 시간대별 입양 발생 건수 조회하기

  • DATETIME의 시간으로 묶어서 입양 건수 세기
  • 9와 19사이만 조회하기 ➡️ WEHRE 또는 HAVING

👉 제출 코드

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

2. 입양 시각 구하기(2) - Lv4

✏️ 풀이

문제: 각 시간대별 입양 발생 건수 조회하기

  • 0과 23시 사이로 조회하기
    --- HOUR 열에 0부터 23까지
    SET @HOUR = -1; 				 // 변수 선언 및 초기값 설정
    SELECT (@HOUR := @HOUR + 1) HOUR // 대입 연산을 통해 1씩 증가하여 0부터 시작
    FROM ANIMAL_OUTS
    WHERE @HOUR < 23 				 // 22일 때 SELECT에서 23까지 나타내고 종료
  • DATETIME 중 시간과 @HOUR과 같은 개수 세기

👉 제출 코드

SET @HOUR = -1;
SELECT (@HOUR := @HOUR + 1) HOUR, 
    (SELECT COUNT(*) FROM ANIMAL_OUTS
     WHERE HOUR(DATETIME) = @HOUR) COUNT
FROM ANIMAL_OUTS
WHERE @HOUR < 23
profile
조금씩, 꾸준히, 자주

0개의 댓글