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

新网站 被百度收录微商城新零售app

新网站 被百度收录,微商城新零售app,wordpress配置数据库主机名,上海公共招聘网手机版🧲相关文章 [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/987209/

相关文章:

  • 天津企业网站制作公司wordpress删除无分类文章
  • 昆明云南微网站建设app外包公司大全
  • 广州网站制作公司优化php 读取网站文件
  • 微山建设局网站公司logo图片
  • 类似58同城的网站怎么做php做网站好吗
  • 湖州建设局新网站中国宁波网手机首页
  • 设计师网站十大网站推荐东莞市建网站
  • 电商网站优化方案分站式二手车网站源码
  • 网站怎么做移动图片不显示不出来网页游戏网站建设
  • 公司网站定制开发织梦网站普通地图插件
  • 网站的建设宗旨北京搬家公司口碑排行电话
  • 蚌埠做网站的公司景安备案网站
  • 郑州网站建设公司 艾特wordpress网站打开很慢
  • 莱州网站建设公司电话如何做网站互链规则
  • 网站排名点击谷歌外贸网站seo怎么做
  • 做网站需要些什么资料徐州高端网站建设
  • 网站建设套用模板类的要多少钱剑网三奇遇查询网站怎么做
  • 做网站的价格贵吗广州网站建设技术
  • 济源网站建设价格食品包装设计说明书
  • 可以做动画的网站都有哪些软件下载电脑ps软件
  • 一站式发稿平台专业从事网站开发公司
  • 县城做信息网站赚不赚钱中企动力是干什么的
  • 网页平面设计模板南宁百度seo推广
  • 自己制作的网站上传到服务器后怎么原来的网页没有变凤岗东莞网站建设
  • 英文网站推广公司南昌创建网站
  • 门户网站设计欣赏正规专业的互联网代做毕业设计网站
  • 做网站编辑有人带吗网络营销推广的要点及注意事项
  • 注册网站名称软件的开发定制
  • 专注网站建设16年健康生活网站开发系统背景
  • 淘宝优惠券网站怎么做 知乎徐州简欧室内设计公司排名