我有一个表temp(名称int,count int)。它存储:-
a|count
1|10
1|8
1|4
1|2
2|10
2|6
2|1
我希望对行进行编号,使其与给定名称相对应(也请注意,计数必须以降序排列),即:-
a|count|row
1|10 |1
1|8 |2
1|4 |3
1|2 |4
2|10 |1
2|6 |2
2|1 |3
我尝试过How to show row numbers in PostgreSQL query?的帖子,但似乎只是将其从1编号为7,而不是按名称命名。有人可以帮我吗?谢谢!
答案 0 :(得分:1)
使用row_number()函数
select a, count, row_number() over(partition by a order by count desc) as rn
from tablename