[문제]
[MySQL]
WITH three_rows AS (
SELECT *
, COUNT(*) OVER (ORDER BY visit_date ASC ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS cnt1
, MIN(people) OVER (ORDER BY visit_date ASC ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS min1
, COUNT(*) OVER (ORDER BY visit_date ASC ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) AS cnt2
, MIN(people) OVER (ORDER BY visit_date ASC ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) AS min2
, COUNT(*) OVER (ORDER BY visit_date ASC ROWS BETWEEN CURRENT ROW AND 2 FOLLOWING) AS cnt3
, MIN(people) OVER (ORDER BY visit_date ASC ROWS BETWEEN CURRENT ROW AND 2 FOLLOWING) AS min3
FROM Stadium
)
SELECT id
, visit_date
, people
FROM three_rows
WHERE (cnt1 >= 3 AND min1 >= 100)
OR (cnt2 >= 3 AND min2 >= 100)
OR (cnt3 >= 3 AND min3 >= 100)
'SQL > LeetCode' 카테고리의 다른 글
| [LeetCode] 607. Sales Person (0) | 2025.02.18 |
|---|---|
| [LeetCode] 602. Friend Requests II: Who Has the Most Friends (0) | 2025.02.18 |
| [LeetCode] 596. Classes More Than 5 Students (0) | 2025.02.18 |
| [LeetCode] 595. Big Countries (0) | 2025.02.18 |
| [LeetCode] 586. Customer Placing the Largest Number of Orders (0) | 2025.02.18 |
