【学习打卡】第12天 MySQL8.0版本新特性
2022/8/14 3:22:47
本文主要是介绍【学习打卡】第12天 MySQL8.0版本新特性,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
课程章节:第5章 窗口函数
主讲老师:董旭阳(Tony.Dong)
课程内容:
一、窗口函数基本概念(window function)(分析函数)
二、专用窗口函数
1、用于排名:row_number(),rank(),dense_rank(),percent_rank()
2、用户获取窗口第一名或最后一名:first_value(),last_value(),
前面第几名或者后面第几名:lead(),lag()
3、累计分布,累计到现在占了多少cume_dist(),
排名第几名的函数nth_value(),
比分位ntile(),比如四分之一百分位(占百分值二十五)
三、窗口定义(完整的窗口定义)
写法:window_function(expr)
OVER(partiton by...
order by ....
frame_clause
)
课程收获:
一、窗口函数也称为分析函数,用于在sql语句中做数据分析用的,与聚合函数类似但是每一行数据都生成一个结果。
关键部分:聚合函数OVER (partition by) as 别名
用法:Select 列1,列2,列3, avg(列3) OVER(partition by 列2) as 别名 from 表;
如:Select year,country,product,profit,sum(profit) OVER (partition by country) as contry_profit
From sales order by country,year,product,profit;
OVER不区分大小写, OVER与后面的括号直接要有空格
二、关于完整的窗口定义,用一个例子可以帮助更好的理解
Select year,country,product,profit,sum(profit) OVER (partition by country order by profit rows unbounded preceding ) as running_total
From sales order by country,profit;
计算一个利润的总和,首先按照国家进行分区,然后按照利润进行排序,排序完成之后,对于每一行计算,从最开始那一行到当前行结束(后面不写就默认到当前行结束).
这篇关于【学习打卡】第12天 MySQL8.0版本新特性的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程
- 2024-11-01部署MySQL集群学习:新手入门教程
- 2024-11-01部署MySQL集群入门:新手必读指南
- 2024-10-23BinLog入门:新手必读的MySQL二进制日志指南
- 2024-10-23Binlog入门:MySQL数据库的日志管理指南