计算特定名称的行数
Posted
技术标签:
【中文标题】计算特定名称的行数【英文标题】:Counting rows for a particular name 【发布时间】:2019-01-21 06:15:57 【问题描述】:我有一个表 temp(name 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】:使用 row_number() 函数
select a, count, row_number() over(partition by a order by count desc) as rn
from tablename
【讨论】:
我在 SO 和 mathsSE 上。这实际上是我见过的最快的答案。非常感谢! 是的!这是完美的。一段时间后我会接受它(因为我不能按照 SO 规则这么快地接受答案:P)以上是关于计算特定名称的行数的主要内容,如果未能解决你的问题,请参考以下文章