如何在Oracle中使用count(*)over(order by…)获得连续排名
我有一张桌子如何在Oracle中使用count(*)over(order by…)获得连续排名,oracle,count,sql-order-by,Oracle,Count,Sql Order By,我有一张桌子 Item ------ apple apple bean bean cherry cherry cherry 我想创建另一个表,其中包含如下项目的排名 Item ranking ---------------- apple 1 apple 1 bean 2 bean 2 cherry 3 cherry 3 cherry 3 我使用这个语句,可以生成这样的排名 从表a中选择项目,按项目排序 I
Item
------
apple
apple
bean
bean
cherry
cherry
cherry
我想创建另一个表,其中包含如下项目的排名
Item ranking
----------------
apple 1
apple 1
bean 2
bean 2
cherry 3
cherry 3
cherry 3
我使用这个语句,可以生成这样的排名
从表a中选择项目,按项目排序
Item ranking
----------------
apple 1
apple 1
bean 3
bean 3
cherry 5
cherry 5
cherry 5
有没有一种快速的方法来创建所需的连续排名
非常感谢 Try稠密等级功能:
select item, dense_rank() over (order by item) from table a
尝试密集等级功能:
select item, dense_rank() over (order by item) from table a