1. 题目描述
X 市建了一个新的体育馆,每日人流量信息被记录在这三列信息中:序号 (id)、日期(date)、 人流量 (people)。
请编写一个查询语句,找出高峰期时段,要求连续三天及以上,并且每天人流量均不少于100。
例如,表 stadium:
1 | +------+------------+-----------+ |
对于上面的示例数据,输出为:
1 | +------+------------+-----------+ |
Note:
每天只有一行记录,日期随着 id 的增加而增加。
2. 题解
2.1. MySQL
Note提及:每天只有一行记录,日期随着 id 的增加而增加。所以相邻3天不用必DATEDIFF来判断,直接用3条记录的id值递增1就可以来判断
注意:题目描述有问题,一查测试数据,发现date字段名是visit_date
1 | SELECT DISTINCT tb1.id, tb1.visit_date, tb1.people -- 要去重 |