SQL高级语句

主知识点八:窗口函数

新开窗口,不影响原数据的排序。且子句必须有order by。窗口结果返回到

且窗口函数必须写在select后面!

●   【排序窗口函数】

●   rank()over()——1,1,3,4

●   dense_rank()over()——1,1,2,3

●   row_number()over()——1,2,3,4

【例题29】查询每一年S14000021选区中所有候选人所在的团体(party)和得票数(votes),并对每一年中的所有候选人根据选票数的高低赋予名次,选票数最高则为1,第二名则为2,后续以此类推,最后根据团体(party)和年份(yr)排序。

分析:

(1)查询团体(party)和得票数(votes)

(2)每一年的,S14000021选区的

(3)每一年中的所有候选人根据选票数的高低赋予名次——窗口函数rank()over(partition by yr order by votes desc)

(4)根据团体(party)和年份(yr)排序。

代码:

select yr,party,votes,rank()over(partition by yr order by votes desc)as posnfrom gewhere constituency='S14000021'order by party,yr

●   【偏移分析函数】

●   lag(字段名,偏移量[,默认值])over()——当前行向上取值“偏移量”行

●   lead(字段名,偏移量[,默认值])over()——当前行向下取值“偏移量”行

●   【例题30】查询法国和德国1月每天新增确诊人数,最后显示国家名、标准日期(2020-01-27)、当天截至时间累计确诊人数、昨天截至时间累计确诊人数、每天新增确诊人数,按照截至时间排序

分析:

(1)法国和德国1月每天新增确诊人数——where name in ('France','Germany') and month(whn) = 1

(2)最后显示国家名、标准日期(2020-01-27)、——date_format(whn,'%Y-%m-%d') date

当天截至时间累计确诊人数、——原表中的confirmed

昨天截至时间累计确诊人数、——,lag(confirmed,1)over(partition by name order by whn),当前行往上取1行,再取这一行的confirmed的值,

每天新增确诊人数

(3)按照截至时间排序

代码:

selectname,date_format(whn,'%Y-%m-%d') date,confirmed  当天截至时间累计确诊人数,lag(confirmed,1)over(partition by name order by whn) 昨天截至时间累计确诊人数,(confirmed - lag(confirmed,1)over(partition by name order by whn)) 每天新增确诊人数from covidwhere name in ('France','Germany') and month(whn) = 1order by whn

结果:

●   【总结】

●   【排序窗口函数语法】

●   rank()over([partition by 字段名] order by 字段名 asc|desc)

●   dense_rank()over([partition by 字段名] order by 字段名 asc|desc)

●   row_number()over([partition by 字段名] order by 字段名 asc|desc)

●   【偏移分析函数语法】

●   lag(字段名,偏移量[,默认值])over([partition by 字段名] order by 字段名 asc|desc)

●   lead(字段名,偏移量[,默认值])over([partition by 字段名] order by 字段名 asc|desc)

●   【题目】查询2017年选区为 'S14000024' 的所有候选人所在团体(party)和其选票数(votes)、还有候选人得票数在选区内对应的的排名,结果按团队party排序。

分析:

(1)查询候选人所在团体(party)和其选票数(votes)、

还有候选人得票数在选区内对应的的排名,

(2)2017年选区为 'S14000024' 的 ——where yr=2017 and constituency='S14000024'

(3)结果按团队party排序——order by party

代码:

select party,votes,rank()over(partition by constituency order by votes desc)as sortfrom gewhere yr=2017 and constituency='S14000024'order by party

●   【题目】查询截至时间为2020年4月20日的国家名,确诊人数,确诊人数排名,死亡人数,死亡人数排名,按照确诊人数降序排名。

分析:

(1)查询国家名,确诊人数,确诊人数排名,死亡人数,死亡人数排名,

(2)截至时间为2020年4月20日的

(3)按照确诊人数降序排名。

代码:

select name,confirmed,rank()over(order by confirmed desc) cr,deaths,rank()over(order by deaths desc) drfrom covidwhere whn='2020-4-20'order by confirmed desc

●   【题目】查询意大利每周新增确诊数(显示每周一的数值 weekday(whn) = 0),最后显示国家名,标准日期(2020-01-27),每周新增人数,按照截至时间排序。

分析:

(1)查询意大利每周新增确诊数——每周,两个相邻周一的数据相减就是这周的确诊数

(2)显示每周一的数值 weekday(whn) = 0,

(3)最后显示国家名,标准日期(2020-01-27),每周新增人数,

(4)按照截至时间排序。

代码:

select name,date_format(whn,'%Y-%m-%d') date,(confirmed-lag(confirmed,1)over(partition by name order by whn))from covidwhere weekday(whn)=0 and name = 'Italy'order by whn

主知识点九:表链接

。。。

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

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

相关文章

Pspice for TI学习

Pspice for TI中PSpice Part Search空白解决方法 配置环境变量 Cad_PSpice_TI_Regr_Srvr https://software-dl.ti.com/pspice/S009 重新安装2023版的Pspice Pspice安装链接 打开新安装的软件即可发现PSpice Part Search可以正常使用了 VSIN各参赛的含义 VOFF直流偏置VAMPL…

MYSQL8.0.20安装教程

一:下载mysql MySQL :: Download MySQL Installer (Archived Versions) 二:选中server only,点击next 三:点击server 选项,点击Execute 弹窗点击安装 四:安装项为绿色后,点击next 五&#xf…

4-30V 输入、1.2A 固定输出同步降压驱动器

产品描述 AP3462 是一款支持宽电压输入的同步降压电 源管理芯片,输入电压 4-30V 范围内可实现 1.2A 的 连续电流输出。AP3462 具有优秀的恒压特性。 AP3462采用电流模式的环路控制原理,实现了快速 的动态响应。AP3462 工作开关频率为 220kHz&#xff0…

在做题中学习(52): 山脉数组的峰顶索引

852. 山脉数组的峰顶索引 - 力扣(LeetCode) 解法:二分查找 思路:O(logn)的时间复杂度,很可能是二分法,再看看有没有二段性: 由题目可以知道,i的左边比i小,右边比i大&am…

喜报|知从科技荣获“2023年度浦东新区创新创业奖”

4月11日,由上海市浦东新区人民政府举办的“2024年浦东新区经济突出贡献企业表彰活动”在上海国际会议中心隆重举行。知从科技凭借过去一年在行业内卓越的技术创新实力及对浦东新区发展作出的杰出贡献,入选创新创业20强企业,荣获“2023年度浦东…

SERVLET从入门到精通(一)

SERVLET 目录(单击跳转对应目录) 1.SERVLET架构............................................................. 2 1.1十三种技术J2EE的................................................... 2 1.2入门JAVAWEB.......................................…

ES dsl查询filter(或must)和should并用时should子句不生效

记录下今天编码时遇到的问题,在filter和should同级并用的查询下,should子句并没有生效,只有filter子句生效。 例如以下dsl {"query": {"bool": {"filter": [{"term": {"status": 3}}],&…

IBM MQ监控:保障消息传递系统稳定运行的关键实践

IBM MQ监控是指对IBM MQ(IBM Message Queue)系统的性能和状态进行实时监测和管理的过程。IBM MQ是一款商业消息中间件产品,它允许在分布式计算环境或异构系统之间进行可靠的消息传递。通过监控IBM MQ,可以确保消息传递的顺畅、高效…

CMakeLists.txt语法规则:数学运算 math

一. 简介 前面几篇文章学习了 CMakeLists.txt语法中的一些常用变量,常用命令,双引号的作用。条件判断语句,循环语句等等。 本文简单学习一下 CMakeLists.txt语法中数学运算 match。 二. CMakeLists.txt语法规则:数学运算 math 在…

MySQL数据库实验三

本文承接前面的俩次实验基础上完成,不过实现的都是基础操作的练习 目录 目录 前言 实验目的 实验要求 实验内容及步骤 updata操作 delete操作 alter操作 添加列 删除列 修改列的数据类型 要求实现 实验结果 代码结果 注意事项 思考题 总结 前言 本文是MySQL数据库…

身份证OCR识别接口如何对接

身份证OCR识别接口又叫身份证识别API接口、身份证正反面文字识别接口,指的是传入身份证照片,精准识别静态身份证图像上的文字信息,如果传的是正面照片只返回正面信息,如果传的是反面只返回反面信息。那么身份证OCR识别接口如何对接…

2.用python爬取的保存在text文件中的格式为MP4的视频url

文章目录 一、url的保存格式二、MP4视频获取 一、url的保存格式 爬取的视频名字和url保存在text文件中,每一个视频都是一个单独的text,其中text的文件名就是视频的名字,text内容是视频的下载url,并且所有的text都保存在同一个文件…

软件接口测试规范流程

1、需求分析 1.1 确认测试目的和测试对象: 了解需求并明确测试目的,如测试一个本地 API 还是跨网站的远程 API。 1.2 确认测试的基本条件: 确定测试所需的测试数据,测试环境以及测试团队中的角色和职责。 1.3. 对接口文档进行验证&#xf…

Windows系统使用powershell批量移动特定起始位置的“快捷方式”

移动特定起始位置的“快捷方式” 快捷方式都对应一个的目标和“起始位置”,现在想要把特定起始位置的快捷方式移动到一个文件夹中。 新建文本文档,输入如下内容: # 设置变量 $oldPath "D:\111\111_1" $newPath "D:\111\1…

AI-数学-高中55-随机变量正态分布

原作者视频:【随机变量】【一数辞典】6正态分布_哔哩哔哩_bilibili 整个概率面积 S 1。 示例: 对称轴平均分μ90分,西格玛(确定最高点的值,值越大越缓,越小分布曲线峰值越瘦高)σ20分。

【前端热门框架【vue框架】】——事件处理与表单输入绑定以及学习技巧,让学习如此简单

👨‍💻个人主页:程序员-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

<网络安全>《81 微课堂<安全产品微简介(1)>》

1 简单的了解复杂的安全产品 产品简要防火墙网络区域边界上部署,主要作用是隔离阻断。安全审计一般包括网络日志的分析、网络流量的监控和用户行为的跟踪等。发现网络中的潜在问题和漏洞。入侵检测IDS实时监控和检测网络中的异常活动和入侵行为。入侵防御IPS防病毒…

游戏专用设备指纹方案解析

如同人类拥有独一无二的指纹,设备也有设备的指纹,我们可以把设备指纹理解为设备的唯一识别码。 构建设备指纹需要采集设备硬件信息、软件信息、环境信息、网络信息等维度信息,进行加密/压缩,再通过算法处理,赋予设备唯…

音转文工具,9.8k star! 【送源码】

我们经常会遇到将音频转为文字的情况,比如在开会时录音的会议纪要、上课时录下的老师讲课内容。虽然网上也有一些在线的工具可以将音频转为文字,但是考虑到数据安全和费用问题,使用起来也不是很方便。 今天了不起给大家介绍一款开源工具——…

短信清空了!华为手机短信删除了怎么恢复?

“有没有人知道这是怎么回事呀,原先有一千多条未读一直放着没管,昨天根本没打开短信这个软件,今晚突然发现只剩一条了,是华为手机自动清理了吗!到底该怎么恢复呀?我真崩溃!” 在日常生活中&…