2016-05-23 7 views
-3

SQL Server 2014のストアドプロシージャを使用してアイテムの位置を取得しています。SQL Server異なる順序のテーブル内の要素の位置

私はROW_NUMBERについて読んだことがありますが、使用方法がわかりません。

私は、IDと日付の要素を含むテーブルを持っています。テーブルのIDを日付でソートした要素の位置を知りたいと思います。

のは、例えば、私はこれらの5つの項目(ID日。)があるとしましょう:

ID  DATE 
1  2016-01-04 
2  2016-01-05 
3  2016-01-01 
4  2016-01-02 
5  2016-01-03 

3の位置を得るために、私のストアドプロシージャを使用して、私はそれが3の5(実際の位置を返すようにしたいですテーブルが日付descで注文されたとき)。

ありがとうございます!

答えて

2

一つだけの結果をしたい場合は、(2016-01-03値を超える1行が存在する場合、例えば)あなたの基準に合うすべての行をしたい場合は、重複、またはRANKがある場合は、[はい、あなたはROW_NUMBERを使用することができます。

;WITH CTE AS 
(
    SELECT *, RN = ROW_NUMBER() OVER(ORDER BY [Date] DESC) 
    FROM dbo.YourTable 
) 
SELECT ID, [Date] 
FROM CTE 
WHERE RN = 3; 
関連する問題