2025年窗口函数之cume_dist 函数讲解

窗口函数之cume_dist 函数讲解cume dist 如果按升序排列 则统计 小于等于当前值 的行数 总行数 number of rows current row total number of rows 如果是降序排列 则统计 大于等于当前值的行数 总行数 示例 1 统计小于等于当前工资的人数占总人数的比例

大家好,我是讯享网,很高兴认识大家。

 cume_dist

如果按升序排列,则统计:小于等于当前值的行数/总行数(number of rows ≤ current row)/(total number of rows)。如果是降序排列,则统计:大于等于当前值的行数/总行数。

示例:

1. 统计小于等于当前工资的人数占总人数的比例。


讯享网

SELECT name, dept_no, salary, cume_dist() OVER (ORDER BY salary) as cume_dist FROM data;

讯享网
讯享网 +-------+-------+------+---------+ |name |dept_no|salary|cume_dist| +-------+-------+------+---------+ |rose |2 |4000 |0.125 | |jack |2 |5000 |0.375 | |steven |3 |5000 |0.375 | |john |1 |6000 |0.5 | |jerry |2 |6600 |0.625 | |tom |1 |8000 |0.75 | |richard|3 |9000 |0.875 | |mike |1 |10000 |1.0 | +-------+-------+------+---------+

如果要统计大于等于当前工资的人数占总人数的比例,只需更改salary排序规则为降序desc即可。

2. 根据部门统计小于等于当前工资的人数占部门总人数的比例

SELECT name, dept_no, salary, cume_dist() OVER (PARTITION BY dept_no ORDER BY salary) as cume_dist FROM data;
小讯
上一篇 2025-02-24 23:53
下一篇 2025-02-28 19:56

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/120341.html