【学习打卡】第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-04-26MySQL查出时间比实际晚8小时的解决方案
- 2024-04-01JPA不识别MySQL的枚举类型
- 2024-03-30mysql数据库表卡死解决方法
- 2024-03-15MySQL多数据源笔记5-ShardingJDBC实战
- 2024-03-11natural join mysql
- 2024-03-11关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案
- 2024-02-26mysql 阿里云xb后缀备份文件恢复-icode9专业技术文章分享
- 2024-02-22docker mysql 5.7
- 2024-02-18从 20 多套 MySQL 到 1 套 TiDB丨骏伯网络综合运营管理平台应用实践
- 2024-02-07mysql 外键索引入门介绍,为什么工作中很少有人使用?