根据字段的不同值进行升序和降序排序

根据字段的不同值决定升序和降序

这种情况一般可以使用union all来进行实现相对比较简单,比如说

SELECT * FROM USER WHERE USER_TYPE=1 ORDER BY CREATE_TIME DESC
UNION ALL
SELECT * FROM USER WHERE USER_TYPE=2 ORDER BY CREATE_TIME ASC

或者说也可以使用case/when的形式

SELECT 
    * 
FROM 
    USER 
ORDER BY 
    CASE WHEN DEPT_ID = 6 THEN USER_ID END DESC,
    CASE WHEN DEPT_ID != 6 THEN USER_ID END ASC

  

原文地址:https://www.cnblogs.com/qiankun-site/p/13042954.html