코딩테스트 연습 - 입양 시각 구하기(2) | 프로그래머스 스쿨
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
재귀적 CTE를 알아야 수월하게 풀 수 있는 문제, 이걸 모른다면 CASE WHEN을 대략 24번 쳐야한다.
with recursive time
as (
select 0 as hour
union all
select hour + 1
from time
where hour < 23
)
select t.hour, count(animal_id)
from time t left join (
select *, hour(DATETIME) hour
from ANIMAL_OUTS
) o on t.hour = o.hour
group by t.hour
order by t.hour
자세한 내용은 아래 블로그를 다시 정독해 보자.
[SQL] RECURSIVE CTE 이해하기
CTE란 무엇일까? 먼저, CTE(Common Table Expression)는 복잡한 쿼리를 단순화하고 가독성을 높이기 위해 일시적인 결과 집합을 정의하는 방법이다. CTE는 WITH 절을 사용하여 정의되며, 주로 재사용이 필요
velog.io
'SQL 이것저것' 카테고리의 다른 글
[MySQL] QCC 1회차 (2) | 2024.10.25 |
---|---|
[MySQL] UNION 할 때 컬럼 개 수 맞추기 (2) | 2024.10.18 |
[MySQL] 코드카타 69번 DOUBLE GROUP BY (0) | 2024.10.17 |
[MySQL] WINDOW FUNTION - RANK, LAG 등 (0) | 2024.10.16 |
[MySQL] 자주 쓰는 함수들 - UPDATABLE (0) | 2024.10.16 |