2

私は使っている

Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64) 2008 年 7 月 9 日 14:17:44 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition (64 ビット) on Windows NT 6.1 (Build 7601: Service Pack 1)

日付順に並べ替えようとすると、正しい順序になりません

DECLARE @dd table (ID int,rate numeric(5,2), orderdate smalldatetime)
INSERT INTO @dd
SELECT 1,10,'2013-03-05 10:11:00'
UNION ALL 
SELECT 2,25,'2013-03-05 10:11:00' 
UNION ALL
SELECT 3,30,'2013-03-05 10:10:00'
UNION ALL
SELECT 4,50,'2013-03-05 10:11:00'
UNION ALL
SELECT 5,60,'2013-03-05 10:15:00'

SELECT top 2 * FROM @dd Order by orderdate desc

ID 1,2,4 は同じorderdate値です

この順序で結果を表示しています id 5 と 2 は正しくありません。実際には orderid 5,4 が表示されるはずです。

4

1 に答える 1

4

IDコメントに応じて、列で並べ替える必要もあります。

SELECT top 2 * 
FROM @dd 
Order by orderdate desc, ID desc

結果:

ID  rate    orderdate
5   60.00   2013-03-05 10:15:00
4   50.00   2013-03-05 10:11:00
于 2013-03-05T07:11:16.900 に答える