GBase 8a
适配迁移
文章
GBase 8a窗口函数percent_rank使用样例
GBase社区管理员发表于2021-06-29 13:55:3836次浏览0个评论
本文介绍GBase 8a的窗口函数percent_rank, 其与Rank 基本一样,除了返回的是相对的百分比,而不是排名。
参考
GBase 8a窗口函数使用样例索引
GBase 8a窗口函数Rank和Dense_rank使用样例
语法
PERCENT_RANK() OVER([PARTITION BY col_name1,col_name2,…] ORDER BY col_name1 [ASC/DESC], col_name2 [ASC/DESC],…)
说明
计算由 ORDER BY 子句定义,在返回的查询中某一行相对于其它行的(小数)位置。它返回介于 0 和 1 之间的小数值。
该函数的使用场景及使用限制与 RANK()函数完全相同。
样例
无PARTITION的percent_rank
RANK返回的是位置顺序号,而percent_rank返回的是0-1之间的小数位置。
| select t2.*,rank() over(order by val) v from t2; | select t2.*,percent_rank() over(order by val) v from t2; |
+------+------+------+---+| id | type | val | v | | +------+------+------+-------------------+ |
带PARTITION的percent_rank
每个分组内,返回相对位置的0-1之间的小数位置
| select t2.*,rank() over(partition by type order by val) v from t2; | select t2.*,percent_rank() over(partition by type order by val) v from t2; |
| +------+------+------+---+ | id | type | val | v | +------+------+------+---+ | 4 | 2 | 222 | 1 | | +------+------+------+-----+ |
评论已关闭
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526