/*
表 sysid自增主键 scro分数 oper操作时间
scro分数 > 5的按照 分数 降序, 分数小于等于5的按照 操作时间 升序; >5 的排在 《=5的前面
*/
select * from test order by case when scro > 5 then 1 else 0 end desc, case when scro > 5 then scro elseDATEDIFF(MINUTE,oper,GETDATE()) end desc
-- 第一个case 把 》5 和《=5整体,排序,第二个则 为了满足 (分数小于等于5的按照 操作时间 升序)条件不可能是 同一个级别的一个升序一个降序,所以通过 DATEDIFF(MINUTE,oper,GETDATE())的 【降序】方式,实现 日期的升序排列。
时间: 2024-08-03 03:56:19