select语句中是否可以有多个order by子句?我可以做这样的事情吗?
SELECT TOP(5) * FROM [Db].[dbo].[Schedules]
where (datepart(hour, [Arrival]) >= datepart(hour, getdate()))
order by abs( (datepart(hour, [Arrival]) - datepart(hour, getdate()))*60 + datepart(minute, [Arrival]) - datepart(minute, getdate()))
order by [Arrival]
我需要第二顺序的原因是为了确保记录在增加的到达时间中返回。
TIA。
最佳答案
使用逗号分隔的列表:
SELECT
TOP(5) *
FROM
[Db].[dbo].[Schedules]
where
(datepart(hour, [Arrival]) >= datepart(hour, getdate()))
order by
abs(
(datepart(hour, [Arrival]) - datepart(hour, getdate()))*60 + datepart(minute, [Arrival]) - datepart(minute, getdate())
),
[Arrival]
关于tsql - T-SQL多重排序by子句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9072028/