› Spec
CPU: Apple M1 or Intel i5
RAM: 8GB
Storage: 256GB SSD
OS: macOS or Windows 11
Python: 3.11.5 and 3.8.7
Python_venv_path: Only /desktop/[folder]
IDE: Visual Studio Code
› Home › About › Categories › Guestbook

Categories : SQL

SQL 예시 - (14) 시간대별 고객 퇴장 수 조회 (feat. RECURSIVE)


  1. SQL RECURSIVE 예시
    1. 0. SQL 문제
    2. 1. 계산 진행
    3. 2. 실행 결과

SQL RECURSIVE 예시

0. SQL 문제

CUSTOMER_OUT (고객 퇴장시간)

CUSTOMER_IDDATETIME
12025-03-02 08:15:00
22025-03-02 08:45:00
32025-03-02 12:30:00
42025-03-02 14:10:00
52025-03-02 14:45:00
62025-03-02 23:50:00


1. 계산 진행

WITH RECURSIVE HOURS AS ( -- 1. 0시부터 23시까지의 시간을 생성
    SELECT 0 AS HOUR
    UNION ALL
    SELECT HOUR + 1 FROM HOURS WHERE HOUR < 23
)

SELECT 
    H.HOUR, 
    COUNT(C.CUSTOMER_ID) AS CUSTOMER_COUNT -- 4. 해당 시간에 퇴장한 고객 수를 계산
FROM HOURS H
LEFT JOIN CUSTOMER_OUT C -- 2. 시간대별 고객 데이터를 연결
    ON H.HOUR = HOUR(C.DATETIME) -- 3. `DATETIME` 값에서 시간을 추출하여 조인
GROUP BY H.HOUR;


2. 실행 결과

HOURCUSTOMER_COUNT
00
10
20
30
40
50
60
70
82
90
100
110
121
130
142
150
160
170
180
190
200
210
220
231




확대 이미지