计算重复数(通过分配数字),而无需在SQL中分组

时间:2019-02-18 05:54:07

标签: sql sql-server

我在Microsoft SQL Server中有数据:

Name
-----
A  
A  
B  
D  
R  
A  
B

要添加一列,该列将通过分配如下所示的有序编号来对条目进行计数:

Name   Count
--------------
A        1
A        2
B        1
D        1
R        1
A        3
B        2

1 个答案:

答案 0 :(得分:7)

您的表似乎缺少一列,该列将为您期望的计数提供顺序。由于每个条目都彼此等效,因此我们可以按Name排序并使用ROW_NUMBER

SELECT
    Name,
    ROW_NUMBER() OVER (PARTITION BY Name ORDER BY Name) Count
FROM yourTable;

我也看不到任何明显的订购预期结果集的情况。您还需要一列以便在此强加一个顺序。