๋ฌธ์
https://leetcode.com/problems/human-traffic-of-stadium/description/
WITH result AS (
SELECT
id,
visit_date,
people,
LAG(people) OVER (ORDER BY id) AS prev_people
FROM stadium
),
session_marker AS (
SELECT
id,
visit_date,
people,
(CASE
WHEN prev_people IS NULL THEN 1
WHEN prev_people < 100 THEN 1
WHEN people < 100 THEN 1
ELSE 0
END) AS marking
FROM result
),
session_grouping AS (
SELECT
id,
visit_date,
people,
SUM(marking) OVER (ORDER BY id) AS session_group
FROM session_marker
)
SELECT
id,
visit_date,
people
FROM session_grouping
WHERE session_group IN (
SELECT session_group
FROM session_grouping
GROUP BY session_group
HAVING COUNT(DISTINCT id) >= 3
)
ORDER BY session_group, id;
-- 40๋ถ .. ใ
^ ์ฅ์ฅ 40๋ถ์ ๊ฑธ์ณ ์์ฑํ ๋ด ๊ตฌ๊ตฌ์ ์ ์ฝ๋ .. ใ
WITH session_group AS (
SELECT
*,
ROW_NUMBER() OVER (ORDER BY id) AS rownum,
id - ROW_NUMBER() OVER (ORDER BY id) AS grp
FROM Stadium
WHERE people >= 100
)
SELECT
sg.id,
sg.visit_date,
sg.people
FROM session_group sg
WHERE sg.grp IN (
SELECT grp
FROM session_group
GROUP BY grp
HAVING COUNT(*) >= 3)
^ ํ ๋ธ๋ก๊ทธ์์ ํผ์จ ์ฒ์ฌ์ ์ธ ์ฝ๋ ..!
์ด ์ ๋๋ฉด ์ํ/๋ ผ๋ฆฌ์ ์ฌ๊ณ ์ ์ธ์์ธ ๋ฏ ..
๋ฌธ์ ํ์ด
session_group CTE :

session_group CTE๋ฅผ ํ์ธํด๋ณด๋ฉด
1์ฐจ๋ก people >= 100 ์ผ๋ก ๊ฑธ๋ฌ๋ธ ํ
์ด๋ธ์์
id - row number๋ฅผ ๊ตฌํ๋ฉด
100์ด ๋๋ ์ฐ์์ ์ธ ํ์ ๊ฐ์ grp ์ซ์๋ฅผ ๊ฐ์ง๊ฒ ๋๋ค.
๊ทธ ๋ค์์ grp์ ํ ๊ฐฏ์๊ฐ 3๊ฐ ์ด์์ธ ๊ฑธ ์ถ๋ ฅํ๋ฉด ๋๊ฒ ๋ค
ํด๋น ํ์ด ๋ฐฉ๋ฒ์ ์์ฐจ์ ์ธ id๊ฐ ์กด์ฌํ๋ ํ ์ด๋ธ์ ํ์ฉํ ์ ์๊ฒ ๋ค
๋๋ ์
์ง๋๋ฒ ์ธ์ ์ฌ์ ์ํ๊ธฐ ๋ฌธ์ ์ ๋น์ทํด๋ณด์ฌ์ ๊ฐ์ ์๋ฆฌ๋ก ์ฝ๋๋ฅผ ์งฐ๊ณ ์ฑ๊ณตํ๊ธด ํ์ง๋ง ์๊ฐ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ ธ๋ค.
๊ฒฐ๊ตญ ์ด ๋ฌธ์ ๋ฅผ ํ ์ ์๋ ์ฃผ์ ์๋ฆฌ๋ ๋ฌ๋๋ค.
ํด๋น ํ์ด ๋ฐฉ๋ฒ์ ์ด๋ฒ์ ๊ธฐ์ตํด์ ๋ค๋ฅธ ๋ฌธ์ ์ ์จ๋จน์ ์ ์๊ฒ ํด์ผ๊ฒ ๋ค !
๊ทธ๋ฆฌ๊ณ ๋ค์ํ ๋ฌธ์ ๋ฅผ ํ์ด๋ณด๋ ๊ฒ ์ค์ํ๋ค๋ ๊ฑธ ์ค๊ฐํ๋ค
'Tools > - SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [SQL] leetcode | 1070. Product Sales Analysis III ํ์ด ์์ (0) | 2025.01.23 |
|---|---|
| [SQL] leetcode | 550. Game Play Analysis IV ์์ ํ์ด (0) | 2025.01.23 |
| [SQL] ํ๋ก๊ทธ๋๋จธ์ค ์์ | ์ํ์ ๊ตฌ๋งคํ ํ์ ๋น์จ ๊ตฌํ๊ธฐ (1) | 2025.01.19 |
| [SQL] leetcode | 185. Department Top Three Salaries (0) | 2025.01.19 |
| [SQL] leetcode | 262. Trips and users ์์ ํ์ด (0) | 2025.01.19 |