0

2列のテーブルの一意のリストを取得しようとしています...

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で作業しているため、このタイプの問題に非常に役立ちますが、この関数は存在しません。

これは、SQLServer2005に対する私の考えです。

    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()で使用できるはずですGROUP BY

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

デモでSQLフィドルを参照してください

結果:

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