【SQL】601. 体育馆的人流量(with as 临时表;id减去row_number()思路)

前述

知识点学习:

  1. with as 和临时表的使用
  2. 12、关于临时表和with as子查询部分

题目描述

leetcode题目:601. 体育馆的人流量

在这里插入图片描述
在这里插入图片描述

思路

关键:如何确定id是连续的三行或更多行记录

  • 方法一: 多次连表,筛选查询
  • 方法二: 借助 with as 临时表,id - row_number() over (order by id) as rk (俺这菜鸡没想到 id-row_number(),手动狗头)就能分成如下图:
    在这里插入图片描述
    【图片引自题解】

写法一:join

select distinct t1.*
from Stadium t1, Stadium t2, Stadium t3
where t1.people >= 100 and t2.people >= 100 and t3.people >= 100
and ((t1.id - t2.id = 1 and t1.id - t3.id = 2 and t2.id - t3.id = 1) or (t2.id - t1.id = 1 and t2.id - t3.id = 2 and t1.id - t3.id = 1) or(t3.id - t2.id = 1 and t2.id - t1.id = 1 and t3.id - t1.id = 2)
)
order by t1.id;

写法二:with as 临时空间

在公司用hive常会用到这解法,有时候会在临时表里再多重嵌套

这道题需要提前用With临时空间,是因为where子句中需要再次调用from中选取的表
这里再聊一下sql的运行顺序:
from -> where -> group by -> select -> order by -> limit
即临时表t1 在from 和 where 中都会用到,因此需要提前定义。【引用题解 ,推荐阅读】

with t1 as (select *,id - row_number() over (order by id) as rkfrom Stadiumwhere people >= 100
)select id, visit_date, people
from t1 
where rk in (select rk from t1group by rkhaving count(rk) >= 3
);

部分过程解析:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/738500.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vulhub中Weblogic SSRF漏洞复现

Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。 访问http://your-ip:7001/uddiexplorer/,无需登录即可查看uddiexplorer应用。 SSRF漏洞测试 SSRF漏洞存在于http://your-ip:7001/ud…

Python分支结构

我们刚开始写的Python代码都是一条一条语句顺序执行,这种代码结构通常称之为顺序结构。 然而仅有顺序结构并不能解决所有的问题,比如我们设计一个游戏,游戏第一关的通关条件是玩家在一分钟内跑完全程,那么在完成本局游戏后&#x…

js实现导出/下载excel文件

js实现导出/下载excel文件 // response 为导出接口返回数据,如上图 const exportExcel (response, fileName:string) >{const blob new Blob([response.data], {type: response.headers[content-type] //使用获取的excel格式});const downloadElement documen…

mysql5.6---windows和linux安装教程和忘记密码怎么办

一、windows安装 1.完成解压 解压完成之后将其放到你喜欢的地址当中去,这里我默认放在了D盘,这是我的根目录 2.配置环境变量 我的电脑->属性->高级->环境变量->系统变量 选择PATH,在其后面添加: (注意自己的安装地址) D:\mysql-5.6.49…

数据结构:图的存储与遍历(待续)

图(Graph)是一种较线性表和树更为复杂的非线性结构。在图结构中,对结点(图中常称为顶点)的前驱和后继个数不加限制, 即结点之间的关系是任意的。 一、基本概念和一般结论 因为一条边关联两个顶点&#xff0…

12---风扇电路设计

视频链接 风扇硬件电路设计01_哔哩哔哩_bilibili 风扇电路设计 1、风扇简介 电脑风扇又称为散热风扇,一般用于散热。提供给散热器和机箱使用。市面上一般的散热风扇尺寸大小由直径2.5cm到30cm都有,厚度由6mm到76mm都有,而根据不同运作要求…

抽样算法——【数据科学与工程算法基础】

一、前言 这是课程的第二章节——抽样算法,主要分为三类。 详情可参考: 数据科学的算法基础——学习记录跳转中心 二、正篇 1.系统抽样 课本只介绍了最简单的——等距抽样。 直线等距抽样(Nn*k):即总体个数可以被抽…

JAVA实战开源项目:学生日常行为评分管理系统(Vue+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.2.1 登录注册模块2.2.2 用户管理模块2.2.3 评分项目模块2.2.4 评分数据模块2.2.5 数据字典模块 2.3 可行性设计2.4 用例设计2.5 数据库设计2.5.1 整体 E-R 图2.5.2 用户2.5.3 评分项目2.5.4 评分数据2.5.…

弹性盒子布局 Flexbox Layout

可以嵌套下去 1.display 属性 默认行排列 <style>.flex-item{ height: 20px;width: 10px;background-color: #f1f1f1;margin: 10px;}</style> </head> <body> <div class"flex-container"><div class"flex-item">1&l…

功能测试转自动化测试好不好转型?

手工测试做了好多年&#xff0c;点点点成了每天必须做的事情。但是随着自动化测试趋势的日渐明显&#xff0c;以及受到薪资、技能的双重考验&#xff0c;掌握自动化测试成为了必备技能。 手工转自动化测试&#xff0c;不是一蹴而就的。“预先善其事&#xff0c;必先利其器”&a…

C++:2024/3/11

作业1&#xff1a;编程 要求&#xff1a;提示并输入一个字符串&#xff0c;统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数 代码&#xff1a; #include <iostream>using namespace std;int main() {string str;cout << "请输入一个字…

linux查看文件内容cat,less,vi,vim

学习记录 目录 catlessvi vim cat 输出 FILE 文件的全部内容 $ cat [OPTION] FILE示例 输出 file.txt 的全部内容 $ cat file.txt查看 file1.txt 与 file2.txt 连接后的内容 $ cat file1.txt file2.txt为什么名字叫 cat&#xff1f; 当然和猫咪没有关系。 cat 这里是 co…

一款功率电子开关TP6062

一、基本概述 The TP606X is a low voltage,single P-MOSFET high-side power switch, optimized for self-powered and bus-powered Universal Serial Bus (USB) applications. This switch operates with inputs ranging from 2.4V to 5.5V, making it ideal for both 3V a…

封装方法3-2

八大数据类型一次只能代表一个&#xff0c;所以不能作为返回值&#xff0c; 数组可以做为返回值&#xff0c;把excel的内容2行11列当作数组&#xff0c;存在二维数据里 处理ecxel-22个单元值的返回结果写什么&#xff1f; 1、认识二维数组是什么&#xff1f; 数 组&#xff…

Ping工作原理

文章目录 目的ping网络协议 OSIICMP什么是ICMP作用功能报文类型查询报文类型差错报文类型ICMP 在 IPv4 和 IPv6 的封装ICMP 在 IPv4 协议中的封装ICMP 在 IPv6 协议中的封装ICMP 头部日常ping 排除步骤ping 查询报文使用code扩展目的 本文主要是梳理ping的工作原理- 揭开 ICMP…

C++初学

1>思维导图 2>试编程 提示并输入一个字符串&#xff0c;统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数要求使用C风格字符串完成 #include <iostream> #include<string.h> using namespace std;int main() {string str;cout <<…

Hive-源码分析一条hql的执行过程

一、源码下载 下面是hive官方源码下载地址&#xff0c;我下载的是hive-3.1.3&#xff0c;那就一起来看下吧 https://dlcdn.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-src.tar.gz 二、上下文 <Hive-源码带你看hive命令背后都做了什么>博客中已经讲到了hive命令执行…

网络工程师笔记11

OSPF协议 priority越大越优先&#xff0c;缺省值是1&#xff0c;范围是0-255 routerID越大越优先&#xff0c;先比较优先值&#xff0c;后比较RouterID 非骨干区域必须要跟骨干区域相连&#xff0c;非骨干区域不能直接通信&#xff0c;必须经过骨干区域 OSPF配置 配置routerID划…

20240308-使用VS2022编译VLD-v2.5.4内存泄漏工具

20240308-使用VS2022编译VLD-v2.5.4内存泄漏工具 一、软件环境 Win10 x64 22h2 JuneVS2022 v17.9.0GIT v2.29.2标签&#xff1a;win10 22h2 vs2022分栏&#xff1a;C 二、硬件环境 Win10 x64的PC台式机 三、获取源码 方法一 git clone https://gitee.com/gdnh22/vld254.…

解决 Webpack 中 ERROR in main Module not found: Error: Can‘t resolve ‘./src‘ 问题

出自 BV1MN411y7pw&#xff0c; P98 黑马AJAX-Node.js-Webpack教学视频中webpack部分&#xff0c;打包的时候出错 ERROR in main Module not found: Error: Cant resolve ./src in V:\Web\mycode\webpack\01_webpack_use resolve ./src in V:\Web\mycode\webpack\01_webpack_us…