前言
最近想把之前在leetcode练习的mysql专题梳理一遍,该系列主要是个人的学习总结,以方便之后个人时不时可以来翻阅复习。
(若有侵权,请联系我,会立即删除文章)。
一、问题描述
难度困难601题:体育馆的人流量
二、代码实现
1.代码思路
对于“连续”问题,一个基本思路是按顺序编号(新建的列),然后用同样有顺序的列(原有的列)与新建的列作差,差值一样的则是连续的。想更清晰理解,可以看这篇Leetcode — mysql 专题 — 180题:连续出现的数字(中等)
2.具体代码
select id,visit_date,people
from (
select *,
count(1) over(partition by idrn) cn
from (
select *,
id-row_number() over(order by visit_date) idrn
from Stadium s
where people>=100)s1
)s2
where cn>=3
order by visit_date