SELECT
* FROM
USER_FINISTORDER BY
CASE FINIST_CD=17 THEN 0, CASE FINIST_CD=5 THEN 1, CASE FINIST_CD=3 THEN 2, CASE FINIST_CD=12 THEN 3
END ASC/DESC
这样的话查询结果的排序就是比如说的排序形式了
根据字段的不同值决定升序和降序
这种情况一般可以使用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