您好,我的表格中有此数据
ID|priority|lastModifiedDate
1 | 3 |2020-03-10 14:27:25.107
2 | 2 |2020-03-10 14:26:30.247
3 | 3 |2020-03-11 07:37:27.437
4 | 2 |2020-03-11 09:07:28.863
我正在尝试先按lastModifiedDate desc然后按优先级排序此数据,以获得类似这样的列表
ID|priority|lastModifiedDate
3 | 3 |2020-03-11 07:37:27.437
4 | 2 |2020-03-11 09:07:28.863
1 | 3 |2020-03-10 14:27:25.107
2 | 2 |2020-03-10 14:26:30.247
我正在使用条款
SELECT
[Id]
,[Priority]
,[LastModifiedDate]
FROM [News] order by LastModifiedDate desc, Priority desc
但是我明白了
ID|priority|lastModifiedDate
4 | 2 |2020-03-11 09:07:28.863
3 | 3 |2020-03-11 07:37:27.437
1 | 3 |2020-03-10 14:27:25.107
2 | 2 |2020-03-10 14:26:30.247
如果我尝试先对“ priority”列进行排序,然后对lastmodifieddate进行排序,那么它也不起作用,我认为这是因为第二次排序时是基于第一个排序数据的结果,>
所以我的问题是,¿有什么方法可以得到那个结果?
答案 0 :(得分:3)
您需要将LastModifiedDate的订单作为日期投放,以从订单中删除时间元素。
已更新,可以处理您在同一天有多个优先级相同的记录,并且希望按时间排序的记录的情况。
SELECT
[Id]
,[Priority]
,[LastModifiedDate]
FROM [News] order by CAST(LastModifiedDate AS DATE) desc, Priority desc, LastModifiedDate