0
ItemID | NumberOfUses | LastMaint | Partition
 0111          1           NULL         1

 0111          1         1/1/2015       2
 0111          2         1/1/2015       2
 0111          3         1/1/2015       2
 0111          4         1/1/2015       2
 0111          5         1/1/2015       2

 0111          1         4/1/2015       3
 0111          2         4/1/2015       3
 0111          3         4/1/2015       3

 0111          1         7/1/2015       4
 0111          2         7/1/2015       4
 0111          3         7/1/2015       4
 0111          4         7/1/2015       4
 0111          5         7/1/2015       4
 0111          6         7/1/2015       4 
 0111          7         7/1/2015       4 
 0111          8         7/1/2015       4 
 0111          9         7/1/2015       4

我想弄清楚的是如何让 Partition 列看起来像上面那样。(我在不同的组/分区之间添加了一个空格,以便更容易查看)。

我一直在尝试使用接近下面查询的方法来做到这一点。我已经尝试了 ROW_NUMBER() OVER() 中的几乎所有列组合

SELECT [ItemID]
      ,[NumberOfUses]
      ,[LastMaintenance]
      ,ROW_NUMBER() OVER (PARTITION BY ?????????
                            ORDER BY ???????) [Partition]     
    FROM [ItemsHistory]

ORDER BY [Partition]
4

1 回答 1

2

尝试DENSE_RANK

SELECT [ItemID]
      ,[NumberOfUses]
      ,[LastMaintenance]
      ,DENSE_RANK() OVER (PARTITION BY [ItemId] ORDER BY [LastMaintenance]) [Partition]     
FROM [ItemsHistory]
ORDER BY [ItemId], [Partition], [NumberOfUses]
于 2018-01-23T23:19:29.103 回答