SQL查询中的动态行计数

时间:2017-02-01 08:13:27

标签: sql sql-server sql-server-2008 tsql

嗨,大家好我试图计算一个主要财产中的塔数...但我重置计数有问题。我只有这个代码。

SELECT ProjectName,T.TowerName ,
           CONVERT(NVARCHAR(2),RIGHT('00'+CAST(rank() OVER (ORDER BY T.TowerID) AS VARCHAR(3)),2)) AS TowerID   
FROM MasterProperty AS MP 
INNER JOIN Tower AS T ON Mp.MasterPropertyID = T.MasterPropertyID

这就是得到的。

This is what got.

这就是我需要的。

This what i need

1 个答案:

答案 0 :(得分:3)

您可以使用row_number窗口功能:

select
    t.*,
    row_number() over (partition by ProjectName order by TowerId) whatIwant
from your_table t;