使用Dense rank为所有每个分区列获取相同的列序号



下面的例子是为了我的学习目的。

select dense_rank() over(partition by job order by salary desc) as rank, ename,job,salary 
from emp;

输出:

rank爱美工作薪资1 SCOTT分析师30001名福特分析师30001名工厂职员13002亚当斯办事员11003詹姆斯办事员9504史密斯文员8001琼斯经理29752 BLAKE经理28503克拉克经理24501国王总统50001名艾伦推销员16002特纳推销员15003马丁推销员12503 WARD SALESMAN 1250

我期待着下面的结果。你能请某人帮我使用密集等级获得蜂窝查询吗

预期结果:

rank爱美工作薪资1 SCOTT分析师30001名福特分析师30002名米勒职员13002亚当斯办事员1100詹姆斯办事员9502名史密斯职员8003琼斯经理29753 BLAKE经理28503克拉克经理24504国王总统50005艾伦推销员16005特纳推销员15005马丁推销员12505病房销售员1250

您的DENSE_RANK为每个工作的每个新工资创建一个新数字。为了获得预期的结果,您必须删除分区并按作业排序:

dense_rank() over(order by job)

现在,每一份新工作都有一个新号码。

最新更新