计算特定名称的行

时间:2019-01-21 06:15:57

标签: sql postgresql

我有一个表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,而不是按名称命名。有人可以帮我吗?谢谢!

1 个答案:

答案 0 :(得分:1)

使用row_number()函数

select a, count, row_number() over(partition by a order by count desc) as rn
from tablename