0
我有一个表在SQL正常工作服务器2014称为T_Hours与如列:SQL:由ASC订单/递减不是多列
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 desc
订购和Day, 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
而不是其他列进行排序。我在这里错过了什么吗?
什么是这些列的数据类型(是modified_date日期时间,因此时间也被排序?)看来我的工作。首先引擎按'modified_date'排序......然后按'OPEN asc'排序。 'Close asc'在这里毫无意义,因为'Modified_Date'和'open'生成唯一的排序顺序。如果您在2015年12月5日在09:00和17:00结束时有另一条记录,那么它会在您当前的记录之前... – xQbert
您正在考虑引用列而不是行。 ORDER By子句根据列中的数据对行进行排序。它不会重新排列行中的数据。除非你将行分开并重新组合,这是毫无意义的,你所要做的是不可能的。 –
@xQbert modified_date是一个日期时间,以及打开/时间 – Hello