首页 > 数据库 >MySQL练手题--体育馆的人流量(困难)

MySQL练手题--体育馆的人流量(困难)

时间:2024-09-15 20:24:55浏览次数:11  
标签:练手 01 people -- visit Stadium MySQL date id

一、准备工作

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

# 编写解决方案找出每行的人数大于或等于 100 且 id 连续的三行或更多行记录。
# 返回按 visit_date 升序排列 的结果表。

输入:

输出:

 

二、分析

 三、实现

with t as (
    select * from stadium where people >=100    -- 每行人数大于等于100
), t1 as (
    select
        *,
        row_number() over (order by id) rn     -- 对大于等于100的id排序
    from t
), t2 as (
    select
        *,
        id-rn as 差值                          -- 对id和排序求差,差值相等的为连续
    from t1
),t3 as (
    select 差值,count(差值) cn from t2 group by 差值    -- 求差值相等且大于等于3的记录
)
select id,visit_date,people from t2 ,t3 where t2.差值=t3.差值 and cn>=3 order by id; 

四、总结

此题稍微微有一点难度,如果看不明白可以对题目进行分解分析,分析出一步之后再接下一步来查询,题目已经要求人数大于等于100且id连续三行,就可以先筛选出大于等于100 的id 然后排序求差 差值相等的均为id连续的 ,最后筛选差值总数大于等于3 的,便出来了最后结果;

标签:练手,01,people,--,visit,Stadium,MySQL,date,id
From: https://blog.csdn.net/weixin_66919047/article/details/142288074

相关文章

  • C++ auto 类型推断注意的地方
    inti=0,&r=i;autoa=r;//a是一个整数(r是i的别名,而i是一个整数)intaauto一般会忽略掉顶层const(参见2.4.3节,第57页),同时底层const则会保留下来,比如当初始值是一个指向常量的指针时:constintci=i,&cr=ci;autob=ci;//b......
  • [实践应用] 深度学习之模型性能评估指标
    文章总览:YuanDaiMa2048博客文章总览深度学习之模型性能评估指标分类任务回归任务排序任务聚类任务生成任务其他介绍在机器学习和深度学习领域,评估模型性能是一项至关重要的任务。不同的学习任务需要不同的性能指标来衡量模型的有效性。以下是对一些常见任务及其相......
  • [Whole Web] Auto check application website's updates
    Inaproductionenvironment,wewanttoprompttheuserwithamessagewhennewscriptsareavailable,askingNewscriptsareavailable.Doyouwanttoupdate?Theideaisstraightforward:periodically(e.g.,everyminute,10seconds,dependsonyourcase......
  • Comsol中设置圆偏振
    文献来源:CircularDichroismMetamirrorswithNear-PerfectExtinction。添加图片注释,不超过140字(可选)通常来说,不管是金属反射镜还是布拉格反射镜,对圆偏振都没有选择效果,这是因为没有非对称结构的引入。而且,当入射到各向同性介质,反射光的相位差还是和原来一样,所以偏振面......
  • dfs与贪心算法——洛谷5194
    问题描述:有n个砝码,将砝码从大到小排列,从第三个砝码开始,所有砝码均大于其前两个砝码之和,问怎样的砝码组合才可以组合出不大于c的最大重量,输出该重量输入:第一行输入两个个整数N,c,代表有N个砝码,第二行输入N个砝码的质量输出:不大于c的最大重量题目分析:要找到不大于c的最大重量,要......
  • 总结:1037 - CSP 2021 提高级第一轮
    我的提交记录与结果以比较为基本运算,对于\(2n\)个数,同时找到最大值和最小值,最坏情况下需要的最小的比较次数为()。\(\textttA\).4n-2\(\textttB\).3n+1\(\color{#5eb95e}\texttt{C}\).3n-2\(\color{#e74c3c}\textttD\).2n+1【解析】:首先先将原数组两两分组。每组......
  • 【题解】【动态规划】—— [NOIP2006 普及组] 开心的金明
    【题解】【动态规划】——[NOIP2006普及组]开心的金明[NOIP2006普及组]开心的金明题目描述输入格式输出格式输入输出样例输入#1输出#1提示1.题意解析2.AC代码2.1.二维d......
  • 这可能是最清晰的AI存储数据流动图解
    之前小编也写过多篇AI存储相关的文章,包括AI背景与分层存储的分析,以及AI存储重点从训练转向推理等内容。具体参考:深度剖析:AI存储架构的挑战与解决方案存储正式迈入超大容量SSD时代!业内有很多关于AI不同解读对存储需求的分析,每家都有画对应的示意图。在这么多厂商的分析......
  • 【题解】【模拟】—— [NOIP2008 普及组] ISBN 号码
    【题解】【模拟】——[NOIP2008普及组]ISBN号码[NOIP2008普及组]ISBN号码题目描述输入格式输出格式输入输出样例输入#1输出#1输入#2输出#2提示1.思路解析2.AC代码[NOIP2008普及组]ISBN号码通往洛谷的传送门题目描述每一本正式出版的图书都有一个I......
  • 使用python对交换机进行排障自动化运维
    importparamikoimportosimporttimeimportrandomimportdatetimeimportpandasaspdimportreimportnumpyasnp#fromsqlalchemyimporttext,create_engine#importpsycopg2#frompsycopg2importsql#fromsqlalchemy.ormimportsessionmaker#from......