网站首页 > 精选教程 正文
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
今天来讲解下MySQL 分布函数、前后函数,让不懂得同学对其有个简单的认识,要是有持不同看法的或是想要补充的同学,也欢迎评论区讨论哦~
今日详解内容包括:分布函数、前后函数。
分布函数
(1)应用场景:快速查看某个记录所归属的组内的比例
(2)分布函数分类及基础语法
(3)两种分布函数的介绍
percent_rank() 函数
显示的结果,每行按照如下公式进行计算: (rank-1)/(rows-1)
rank 为 RANK() 函数产生的序号,rows 为当前窗口的记录总行数
对于重复值,取重复值的第一行记录的位置
cume_dist() 函数
显示的结果,每行按照如下公式进行计算:rank/rows
rank 为 RANK() 函数产生的序号,rows 为当前窗口的记录总行数
对于重复值,取重复值的最后一行记录的位置
(4)实例比较两种分布函数
数据结果:
前后函数
(1)应用场景
常用于计算时间序列数据,计算时间间隔,如会员每次购买商品的时间间隔等
当前行与前 n 行或者后 n 行的值
若有分区,分区值则所有分区的前后 n 行的值
(2)前后函数分类及基础语法
(3)两种前后函数的介绍
lag(字段,N) 函数,指当前行的前 N 行的对应字段值
lead(字段,N) 函数,指当前行的后 N 行的对应字段值
(4)实例比较前后函数
数据结果:
结果解析:
由 lag(t1.dimDateID,1) 产生的数列 t1,观察红线连接的两个数字,显示 8 号客户,最新购买商品的时间为 20170607,以此时间点向前查询,上 1 次购买商品的时间为 20170603
由 lag(t1.dimDateID,2)产生的数列 t2,观察红线连接的两个数字,显示 9 号客户,最新购买商品的时间为 20170615,以此时间点向前查询,上 2 次购买商品的时间为 20170602
由 lead(t1.dimDateID,1) 产生的数列 t3,观察红线连接的两个数字,显示 9 号客户,以 20170613 向后查询,下 1 次购买商品的时间为 20170615
好了,以上就是今天分享的MySQL 分布函数、前后函数相关知识了,希望能给大家带来一定帮助!
有问题可以在下方评论区讨论或者找我私聊哦~
猜你喜欢
- 2024-10-29 Java中最简单的连接Oracle数据库和Mysql数据库的方式
- 2024-10-29 Javaweb知识 day02 mysql数据库 javaweb程序设计任务教程黑马程序员电子版
- 2024-10-29 Jenkins Pipeline 连接 MySQL 数据库
- 2024-10-29 银四将近,Java程序员临时抱佛脚也要啃下的硬骨头——MySQL
- 2024-10-29 Java代码中,如何监控Mysql的binlog?
- 2024-10-29 Java环境+Mysql+Tomcat部署JavaWeb项目到云服务器(十分详细)
- 2024-10-29 mysql-connector-java与MySQL 8.X版本建立连接
- 2024-10-29 java连接mysql数据库达成数据查询详细教程
- 2024-10-29 Java代码操作MySQL java操作mysql语法
- 2024-10-29 mysql mysql版本查询
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)