我有以下查询。
如果一行具有类似的ForeignKeyId,我希望它能在下一个有序行之前插入,例如:
我一直在研究RANK和OVER,但没有找到一个简单的解决方法。
编辑:
我已经进行了编辑,以展示实际的字段和使用Andomar答案中的以下查询粘贴的数据。
预订ID 339202 应该相邻出现,但没有。
SELECT Id, Request, BookingDate, BookingId FROM Table ORDER BY Request DESC, Date
如果一行具有类似的ForeignKeyId,我希望它能在下一个有序行之前插入,例如:
Request Date ForeignKeyId
Request3 01-Jun-11 56
Request2 03-Jun-11 89
NULL 03-Jun-11 89
Request1 05-Jun-11 11
NULL 20-Jul-11 57
我一直在研究RANK和OVER,但没有找到一个简单的解决方法。
编辑:
我已经进行了编辑,以展示实际的字段和使用Andomar答案中的以下查询粘贴的数据。
select *
from (
select row_number() over (partition by BookingId order by Request DESC) rn
, Request, BookingDate, BookingID
from Table
WHERE Date = '28 aug 11'
) G
order by
rn
, Request DESC, BookingDate
1 ffffff 23/01/2011 15:57 350821
1 ddddddd 10/01/2011 16:28 348856
1 ccccccc 13/09/2010 14:44 338120
1 aaaaaaaaaa 21/05/2011 20:21 364422
1 123 17/09/2010 16:32 339202
1 NULL NULL
2 gggggg 08/12/2010 14:39 346634
2 NULL NULL
2 17/09/2010 16:32 339202
2 NULL 10/04/2011 15:08 361066
2 NULL 02/05/2011 14:12 362619
2 NULL 11/06/2011 13:55 366082
3 NULL NULL
3 16/10/2010 13:06 343023
3 22/10/2010 10:35 343479
3 30/04/2011 10:49 362435
预订ID 339202 应该相邻出现,但没有。