我正在使用sql,并且有一个看起来像这样的表:
Id roomid startBookingRoom EndBookingRoom startTime
1 1 2010/10/10 15:00:00 2010/10/10 18:00:00 2019/04/29 15:00:00
2 2 2010/10/09 15:00:00 2010/10/09 18:00:00 2019/04/30 15:00:00
3 3 2010/10/08 15:00:00 2010/10/08 18:00:00 2019/04/31 15:00:00
3 4 2010/10/06 15:00:00 2010/10/68 18:00:00 2019/04/31 15:00:00
3 4 2010/10/06 14:00:00 2010/10/68 18:00:00 2019/04/31 15:00:00
我要订单startTime Desc(2019/04/31第一和2010/04/31第二)。然后在startTime(2019/04/31 15:00:00)中,我想订购roomId Desc(4 first and 3 secord)。然后在房间ID中,我要订购startBookingRoom ASC(首先是2010/10/06 14:00:00,然后是2010/10/06 15:00:00秒)
分步订购如下所示:按desc订购startTime,如果startTime相同,则订购房间ID desc,如果订购同一个roomId,则订购startBookingRoom。
startTime(desc)=> roomId => startBookingRoom
我写的sql看起来像这样,但这是不正确的:
Select * from rooms when startTime >= '2019/04/25' order by
startTime,roomId,startBookingRoom
但是它不起作用。 如何逐步订购startTime(desc)=> roomId => startBookingRoom 看起来像:按desc排序startTime,如果相同的startTime,则按顺序排序房间ID,如果相同的roomId,则订购startBookingRoom。谢谢
答案 0 :(得分:1)
默认顺序为ASC(升序),因此您可以添加DESC(降序)
Select * from rooms where startTime >= '2019/04/25'
order by startTime DESC, roomId DESC, startBookingRoom DESC