当前位置: 首页 > news >正文

温州快速网站建设排名小型教育网站的开发与建设系统

温州快速网站建设排名,小型教育网站的开发与建设系统,手机的网站建设目标是什么意思,建歌网站多少钱🧲相关文章 [1] MySQL 系统表解析以及各项指标查询 [2] MySQL 5.7 JSON 字段的使用的处理 [3] MySQL经典练习50题 简介 MySQL 8.0版本开始支持窗口函数 官方文档 在之前的版本中已存在的大部分聚合函数,在MySQL 8 中也可以作为窗口函数来使用 方法 / …

🧲相关文章

[1] MySQL 系统表解析以及各项指标查询
[2] MySQL 5.7+ JSON 字段的使用的处理
[3] MySQL经典练习50题

简介

MySQL 8.0+版本开始支持窗口函数 官方文档 在之前的版本中已存在的大部分聚合函数,在MySQL 8 中也可以作为窗口函数来使用

在这里插入图片描述

方法 / 步骤

Partition Function (分区函数)

Window Function (窗口函数)

函数分为两部分,一部分是函数名称,窗口函数的数量比较少,总共才11个窗口函数+聚合函数(所有的聚合函数都可以用作窗口函数)。根据函数的性质,有的需要写参数,有的不需要写参数。

  • 窗口函数相关支持
函数名称描述
CUME_DIST()累积分配值
DENSE_RANK()当前行在其分区中的排名,稠密排序
FIRST_VALUE()指定区间范围内的第一行的值
LAG()取排在当前行之前的值
LAST_VALUE()指定区间范围内的最后一行的值
LEAD()取排在当前行之后的值
NTH_VALUE()指定区间范围内第N行的值
NTILE()将数据分到 N 个桶,当前行所在的桶号
PERCENT_RANK()排名值的百分比
RANK()当前行在其分区中的排名,稀疏排序
ROW_NUMBER()分区内当前行的行号

TopN相关函数
ROW_NUMBER():顺序排序——1、2、3
RANK():并列排序,跳过重复序号——1、1、3
DENSE_RANK():并列排序,不跳过重复序号——1、1、2

# 窗口函数语法 
func_name(<parameter>) 
OVER([PARTITION BY <part_by_condition>] 
[ORDER BY <order_by_list> ASC|DESC])

窗口函数与分组聚合函数比较相似,都是通过指定字段将数据分成多份,区别在于:

  • SQL 标准允许将所有聚合函数用作窗口函数,用OVER 关键字区分开窗函数和聚合函数。
  • 聚合函数每组只返回一个值,开窗函数每组可返回多个值。

在这11个窗口函数中,实际工作中用的最多的当属ROW_NUMBER()、RANK()、DENSE_RANK()这三个排序函数了。下面我们通过一个简单的数据集学习一下这三个开窗函数。

CREATE TABLE sales_log
( 
sale_date date COMMENT '销售时间', 
name char(2) COMMENT '销售员姓名', 
sales int COMMENT '销售额度'
) ENGINE=InnoDB COMMENT='销售记录';; INSERT INTO sales_log VALUES
('2021/1/1', '丁一', 100), 
('2021/2/1', '丁一', 310), 
('2021/2/1', '李四', 200), 
('2021/3/1', '李四', 210), 
('2021/2/1', '刘猛', 300), 
('2021/3/1', '刘猛', 310), 
('2021/1/1', '王二', 150), 
('2021/2/1', '王二', 180), 
('2021/3/1', '王二', 190), 
('2021/1/1', '张三', 250), 
('2021/2/1', '张三', 280), 
('2021/3/1', '张三', 290);
# 数据查询 
SELECT * FROM sales_log; 
# 对每月销售员业绩从好到坏进行排名
SELECT sale_date,name,sales, ROW_NUMBER() OVER(PARTITION BY sale_date ORDER BY sales DESC) as sales_order 
FROM sales_log;# 查询每月业绩最好的销售员
SELECT * FROM
( SELECT sale_date,name,sales, ROW_NUMBER() OVER(PARTITION BY sale_date ORDER BY sales DESC) as sales_order 
FROM sales_log ) AS t
WHERE sales_order = 1;
  • 初始化数据
# 首先创建虚拟的用户登record_user_login录表,并插入数据 
create table record_user_login
( 
user_id bigint(20)  COMMENT '用户ID', 
login_time datetime DEFAULT CURRENT_TIMESTAMP COMMENT '登录时间'
); # 初始化数据 
insert into record_user_login values
(1,'2025-11-25 13:21:12'), 
(1,'2025-11-24 13:15:22'), 
(1,'2025-11-24 10:30:15'), 
(1,'2025-11-24 09:18:27'), 
(1,'2025-11-23 07:43:54'), 
(1,'2025-11-10 09:48:36'), 
(1,'2025-11-09 03:30:22'), 
(1,'2025-11-01 15:28:29'), 
(1,'2025-10-31 09:37:45'), 
(2,'2025-11-25 13:54:40'), 
(2,'2025-11-24 13:22:32'), 
(2,'2025-11-23 10:55:52'), 
(2,'2025-11-22 06:30:09'), 
(2,'2025-11-21 08:33:15'), 
(2,'2025-11-20 05:38:18'), 
(2,'2025-11-19 09:21:42'), 
(2,'2025-11-02 00:19:38'), 
(2,'2025-11-01 09:03:11'), 
(2,'2025-10-31 07:44:55'), 
(2,'2025-10-30 08:56:33'), 
(2,'2025-10-29 09:30:28'); # 查看数据 
SELECT * FROM record_user_login;

参考资料 & 致谢

[1] MySQL 8.0 新特性
[2] MySQL 开窗函数

http://www.yayakq.cn/news/828591/

相关文章:

  • 临沂建设公司网站怎么制作一个app应用
  • 上海网站建设联系电话wordpress 删除自豪
  • 国外做地铁设计的公司网站聊城做网站费用价格
  • 莆田哪里有学做网站的app开发公司怎么赚钱的
  • 学校网站建设措施网站网页优化怎么做
  • 网站排名优化技巧佛山seo技术
  • 中山市建设局网站窗口电话号码大庆网站优化
  • 网站接口需求北京企业管理公司
  • iis 网站模板下载网站模板文章资讯
  • 个人网站注册费用wordpress注册没反应
  • 西安优秀的集团门户网站建设费用做网站最好选什么语言
  • 网站开发公司所需投入资源太平桥网站建设
  • 兴义网站开发公司全球十大搜索引擎
  • 成都私人网站制作公司合肥有哪些seo网络公司
  • 济南响应式网站建设怎样自己做qq网站
  • 手提包 东莞网站建设工程建设合同模板
  • 深圳网站制作首选灵点网络构建微网站
  • 自建站电商外贸山东省城乡住房和城乡建设厅网站
  • 怎样加强企业网站建设微信营销平台有哪些
  • 企业门户网站的建设与实现论文h5网页设计
  • 服务器上做网站通过网站赚钱
  • 广州平面设计培训机构seo更新网站内容的注意事项
  • 网站服务器检测互联网营销师证书含金量
  • 建设银行找招聘网站淘宝这种网站怎么做的?
  • 网站关键词几个好网站建设最快多长时间
  • 网站建设趋势公司网站可以个人备案吗
  • 成都设计网站的公司哪家好学it一年的学费大概是多少
  • inititle 网站建设招标网站平台有哪些
  • 网络建站公司郑州市建设路第二小学网站
  • 17年哪个网站做h5最好高端 旅游 网站建设