如果我有一个名为[Part]的表,其中包含[PartID],[IDNumber]和[Length]列以及数据:
[PartID] [IDNumber] [Length] 1 Test1 50 2 Test1 60 3 Test2 50 4 Test3 70
如何只选择ID编号不同的前2条记录?搜索了一点之后,我一直无法找到符合我想要的查询。我希望结果看起来像这样:
[PartID] [IDNumber] [Length] 1 Test1 50 3 Test2 50
我现在所拥有的:
Select distinct top 2 [PartID], [IDNumber], [Length] from [Part]
为了澄清PartID实际上是一个GUID。我以为为每条记录写出GUID会使示例数据有些混乱。
SELECT DISTINCT TOP 2 PartId, IdNumber, Length FROM ( SELECT PartId, IdNumber, Length, ROW_NUMBER() over(partition by IdNumber order by Length) Orden FROM [Ayuda] ) A WHERE A.Orden = 1 ORDER BY Length