2016-02-01 31 views
0

使用count(*)以上(按....顺序)获得连续排名我有表如何在Oracle

Item 
------ 
apple 
apple 
bean 
bean 
cherry 
cherry 
cherry 

我想创建另一个表项的排名像这样下面

Item ranking 
---------------- 
apple  1 
apple  1 
bean  2 
bean  2 
cherry  3 
cherry  3 
cherry  3 

我用的语句,并能生成排名这样

选择项目,从表中的

COUNT(*)以上(按项目顺序)
Item ranking 
---------------- 
apple  1 
apple  1 
bean  3 
bean  3 
cherry  5 
cherry  5 
cherry  5 

有没有一种快速的方法来创建所需的连续排名?

非常感谢!

回答

2

尝试DENSE_RANK功能:

select item, dense_rank() over (order by item) from table a 
+0

感谢了很多!有用 –