我正在尝试获取一个包含两列的表的唯一列表...
表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中执行此操作?
谢谢
答案 0 :(得分:0)
您应该能够MIN()
使用GROUP BY
:
select item, min(disp)
from snapshot
group by item
结果:
| ITEM | DISP |
-----------------
| 123045 | 1D23 |
| 450300 | 3D14 |
| 903996 | 1600 |