SQL常用技巧总结 ORDER

ORDER BY 的顺序是从左到右的一般情况下都可以使用select子句中没有的列来进行排序,但是如果查询中使用了GROUP BY 或者 DISTINCT 则不能按照select列表中没有的列来排序。

1. 按照字串进行排序:

DB2/ MYSQL/ ORACLE : 再ORDER BY 子句中使用SUBSTR函数 --  SELECT ENAME, JOB FROM EMP ORDER BY SUBSTR(JOB, LENGTH(JOB)-2,2)

SQL SERVER: 使用SUBSTRIING -- --- SELECT ENAME, JOB FROM EMP ORDER BY SUBSTRING(JOB, LEN(JOB)-2,2)

2. 按照逻辑来进行排序:

再ORDER BY中使用CASE表达式:

SELECT ename, job FROM EMP ORDER BY CASE WHEN JOB='TEACHER' THEN ENAME ELSE JOB END 

原文地址:https://www.cnblogs.com/nextStep/p/3495519.html