当前位置:网站首页>GBase 8a OLAP分析函数cume_dist的使用样例
GBase 8a OLAP分析函数cume_dist的使用样例
2022-06-27 19:33:00 【生命之源;】
GBase 8a支持cume_dist 函数,用于计算小于等于或者大于等于(根据order的顺序)该值的百分比。
语法
cume_disk() over([partition by ] order by [desc])
说明
其中partition是否开窗,否则全部数值统一处理。
order by 的顺序,ASC(默认) = 小于等于,DESC =大于等于
样例
小于等于
如下例子是默认的升序,第一行表示:小于等于数值1的行数比例为20%
gbase> select id,cume_dist()over(order by id) cr from t2;
±-----±----+
| id | cr |
±-----±----+
| 1 | 0.2 |
| 2 | 0.4 |
| 3 | 0.6 |
| 4 | 0.8 |
| 5 | 1 |
±-----±----+
5 rows in set (Elapsed: 00:00:00.01)
大于等于
排序为desc,第一行表示:大于等于数值5的行数比例为20%。
gbase> select id,cume_dist()over(order by id desc) cr from t2;
±-----±----+
| id | cr |
±-----±----+
| 5 | 0.2 |
| 4 | 0.4 |
| 3 | 0.6 |
| 2 | 0.8 |
| 1 | 1 |
±-----±----+
5 rows in set (Elapsed: 00:00:00.02)
带开窗partition
每个partition内不分别计算百分比。
gbase> select * from t4;
±-----±-----+
| id | type |
±-----±-----+
| 1 | A |
| 2 | A |
| 3 | A |
| 1 | B |
| 2 | B |
| 3 | B |
| 4 | B |
±-----±-----+
7 rows in set (Elapsed: 00:00:00.00)
gbase> select type,id,cume_dist()over(partition by type order by id) cr from t4;
±-----±-----±------------------+
| type | id | cr |
±-----±-----±------------------+
| A | 1 | 0.333333333333333 |
| A | 2 | 0.666666666666667 |
| A | 3 | 1 |
| B | 1 | 0.25 |
| B | 2 | 0.5 |
| B | 3 | 0.75 |
| B | 4 | 1 |
±-----±-----±------------------+
7 rows in set (Elapsed: 00:00:00.07)
与Percent_rank的对比
percent_rank是计算相对位置,包含起点0,而cume_dist是包含等于的,所以不会出现0。如果数据只有1行,那么percent_rank为几点0, 而cume_dist为1(100%)。
gbase> select id,cume_dist()over(order by id) cr,percent_rank()over(order by id) pr from t2;
±-----±----±-----+
| id | cr | pr |
±-----±----±-----+
| 1 | 0.2 | 0 |
| 2 | 0.4 | 0.25 |
| 3 | 0.6 | 0.5 |
| 4 | 0.8 | 0.75 |
| 5 | 1 | 1 |
±-----±----±-----+
5 rows in set (Elapsed: 00:00:00.01)
一行数据
gbase> select id,cume_dist()over(order by id) cr,percent_rank()over(order by id) pr from t5;
±-----±—±—+
| id | cr | pr |
±-----±—±—+
| 1 | 1 | 0 |
±-----±—±—+
1 row in set (Elapsed: 00:00:00.02)
边栏推荐
- 空指针异常
- Bit.Store:熊市漫漫,稳定Staking产品或成主旋律
- Go从入门到实战——接口(笔记)
- 100 important knowledge points that SQL must master: using functions to process data
- Go from introduction to actual combat - package (notes)
- 100 important knowledge points for SQL: in operator
- 猜拳游戏专题训练
- Codeforces Round #716 (Div. 2)
- Go从入门到实战——CSP并发机制(笔记)
- Use the storcli tool to configure raid. Just collect this article
猜你喜欢

MySQL performance optimization index function, hidden, prefix, hash index usage (2)

Go from introduction to practice - Interface (notes)

体验Navicat Premium 16,无限重置试用14天方法(附源码)

Icml2022 | scalable depth Gaussian Markov random field
![Unleash the innovative power of open source database | [Gansu] opengauss meetup has come to a successful conclusion](/img/21/9c5f5122270adea9444ff5f2d199ed.jpg)
Unleash the innovative power of open source database | [Gansu] opengauss meetup has come to a successful conclusion

mysql使用笔记一

流程控制任务

Go从入门到实战——channel的关闭和广播(笔记)

Knowledge sorting of exception handling

Go从入门到实战——协程机制(笔记)
随机推荐
Go从入门到实战——Context与任务取消(笔记)
Go from introduction to actual combat - all tasks completed (notes)
GFS分布式文件系统
Go从入门到实战——所有任务完成(笔记)
Special training of guessing game
100 important knowledge points that SQL must master: creating calculation fields
io流代码
MYSQL 性能优化 index 函数,隐藏,前缀,hash 索引 使用方法(2)
Flask----应用案例
今晚战码先锋润和赛道第2期直播丨如何参与OpenHarmony代码贡献
Go from introduction to actual combat -- channel closing and broadcasting (notes)
系统自带的karsonzhang/fastadmin-addons报错
Set code exercise
JVM memory structure when creating objects
GFS distributed file system
100 important knowledge points that SQL must master: retrieving data
抖音的兴趣电商已经碰到流量天花板?
Go从入门到实战——错误机制(笔记)
Go从入门到实战——package(笔记)
跟我一起AQS SOS AQS