0

我正在尝试获取具有两列的表的唯一列表...

snapshot

ITEM   DISP
-----------------
903996 , 1600
903996 , 3D13
123045 , 1D23
450300 , 3D14
450300 , 3DAD

我需要的输出如下

ITEM     DISP
-----------------
903996 , 1600
123045 , 1D23
450300 , 3D14

我知道在 SQL Server 2005 中ROW_NUMBER,由于我在 SQL Server 2000 中工作,因此对于此类问题非常有帮助,并且此功能不存在。

这是我对 SQL Server 2005 的想法:

    Select  [ITEM],[DISP]
FROM (
SELECT 
       [ITEM]
      ,[DISP]
      ,ROW_NUMBER() OVER (PARTITION BY [ITEM] ORDER BY [ITEM]) as RowNumber
  FROM [TABLE]
) WHERE RowNumber =1 

如何在 SQL Server 2000 中做到这一点?

谢谢

4

1 回答 1

0

您应该能够使用MIN()with GROUP BY

select item, min(disp)
from snapshot
group by item

参见SQL fiddle with Demo

结果:

|   ITEM | DISP |
-----------------
| 123045 | 1D23 |
| 450300 | 3D14 |
| 903996 | 1600 |
于 2012-11-21T20:42:38.957 回答