oracle ran() dense_rank() row_number()

select rt.*, row_number() over(partition by category order by mark desc) from rank_test rt

1    数学    99    1
2    数学    90    2
3    数学    90    3
4    数学    60    4
5    语文    88    1
6    语文    80    2
7    语文    78    3
8    语文    70    4

 


select rt.*, rank() over(partition by category order by mark desc) from rank_test rt

1    数学    99    1
2    数学    90    2
3    数学    90    2
4    数学    60    4
5    语文    88    1
6    语文    80    2
7    语文    78    3
8    语文    70    4

 


select rt.*, dense_rank() over(partition by category order by mark desc) from rank_test rt

1    数学    99    1
2    数学    90    2
3    数学    90    2
4    数学    60    3
5    语文    88    1
6    语文    80    2
7    语文    78    3
8    语文    70    4

你可能感兴趣的:(row_number())