SQL:按asc / desc排序无法在多列

时间:2016-11-14 20:24:50

标签: sql

我在Sql Server 2014中有一个名为T_Hours的表,其中包含以下列:

Day       Open            Close           Modified_Date
Mon       17:00:00        20:00:00        12/05/2015
Mon       09:00:00        11:00:00        12/05/2015
Tues      17:00:00        20:00:00        10/27/2015
Tues      09:00:00        11:00:00        10/26/2015
Wed       17:00:00        20:00:00        10/22/2015
Wed       09:00:00        11:00:00        10/20/2015

我正在尝试按Modified_Date descDay, Open, Close asc订购,以便表格显示为:

Day       Open            Close           Modified_Date
Mon       09:00:00        20:00:00        12/05/2015
Mon       17:00:00        11:00:00        12/05/2015
Tues      09:00:00        20:00:00        10/27/2015
Tues      17:00:00        11:00:00        10/26/2015
Wed       09:00:00        20:00:00        10/22/2015
Wed       17:00:00        11:00:00        10/20/2015

我已经尝试了

order by `Modified_Date desc, Open asc, Close asc, Day asc`

但这只会按照我想要的方式对Modified_Date而不是其他列进行排序。我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:0)

Hello @Hello(无法抗拒!),

好像你的订单中的所有元素都包含在单引号中 - 你试图删除它周围的单引号吗?另外,open,close和day是SQL中的保留字 - 你应该将它们包装在方括号中。 您目前有:order by 'Modified_Date desc, Open asc, Close asc, Day asc' 尝试将其切换为:您目前拥有:order by Modified_Date desc, [Open] asc, [Close] asc, [Day] asc

祝你好运!