2025年【LeetCode】601.体育馆的人流量

【LeetCode】601.体育馆的人流量601 体育馆的人流量 X 市建了一个新的体育馆 每日人流量信息被记录在这三列信息中 序号 id 日期 date 人流量 people 请编写一个查询语句 找出高峰期时段 要求连续三天及以上 并且每天人流量均不少于 100 用到的表和数据 SQL Create

大家好,我是讯享网,很高兴认识大家。

601.体育馆的人流量

X 市建了一个新的体育馆,每日人流量信息被记录在这三列信息中:序号(id)日期(date)人流量(people)

请编写一个查询语句,找出高峰期时段,要求连续三天及以上,并且每天人流量均不少于100


讯享网

用到的表和数据SQL:

Create table If Not Exists stadium (id int,date DATE NULL, people int); Truncate table stadium; insert into stadium (id, date, people) values('1', '2017-01-01', '10'); insert into stadium (id, date, people) values('2', '2017-01-02', '109'); insert into stadium (id, date, people) values('3', '2017-01-03', '150'); insert into stadium (id, date, people) values('4', '2017-01-04', '99'); insert into stadium (id, date, people) values('5', '2017-01-05', '145'); insert into stadium (id, date, people) values('6', '2017-01-06', '1455'); insert into stadium (id, date, people) values('7', '2017-01-07', '199'); insert into stadium (id, date, people) values('8', '2017-01-08', '188'); 

讯享网

答案:

此题主要还是靠拆分看题,相当于分成三部分,分成三个表s1,s2,s3的组合判断,

(1)s1.id-s2.id=1,s2.id-s3.id=1,相当于s3 s2 s1 的顺序三个连续的

(2)s2.id-s1.id=1,s1.id-s3.id=1,相当于s3 s1 s2 的顺序三个连续的

(3)s3.id-s2.id=1,s2.id-s1.id=1,相当于s1 s2 s3 的顺序三个连续的

具体SQL语句如下:

讯享网select distinct s1.* from stadium s1, stadium s2, stadium s3 where s1.people >= 100 and s2.people>= 100 and s3.people >= 100 and ( (s1.id - s2.id = 1 and s2.id - s3.id =1) or (s2.id - s1.id = 1 and s1.id - s3.id =1) or (s3.id - s2.id = 1 and s2.id - s1.id = 1) ) order by s1.id;

写的比较粗糙,有不理解的可以扫描二维码加找我解答。


 


小讯
上一篇 2025-01-27 15:42
下一篇 2025-02-26 22:54

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/69790.html