数据操作语言:结果集排序
- 如果没有设置,查询语句不会对结果集进行排序。也就是说,如果想让结果集按照某种顺序排列,就必须使用
ORDER BY子句。
| SELECT ...... FROM ...... ORDER BY 列名 [ASC | DESC]; |
| SELECT ename,sal FROM t_emp ORDER BY sal; |
| SELECT empno,ename,sal,deptno FROM t_emp ORDER BY sal DESC; |
排序关键字
ASC代表升序(默认),DESC代表降序- 如果排序列是数字类型,数据库就按照数字大小排序,如果是日期类型就按日期大小排序,如果是字符串就按照字符集序号排序。
| SELECT ename,sal FROM t_emp ORDER BY hiredate DESC; |
| SELECT empno,ename,hiredate,deptno FROM t_emp ORDER BY ename ASC; | |
| SELECT empno,ename,hiredate,deptno FROM t_emp ORDER BY hiredate DESC; |
排序字段内容相同的情况
默认情况下,如果两条数据排序字段内容相同,那么排序会是什么样子?
我们可以使用
ORDER BY规定首要排序条件和次要排序条件。数据库会先按照首要排序条件排序,如果遇到首要排序内容相同的记录,那么就会启用次要排序条件接着排序。

| SELECT empno,ename,sal,hiredate FROM t_emp ORDER BY sal DESC,hiredate ASC; |
| SELECT | |
| empno,ename,deptno,sal | |
| FROM t_emp | |
| ORDER BY deptno,sal DESC; |
| SELECT | |
| empno,ename,sal | |
| FROM t_emp ORDER BY sal DESC LIMIT 0,5; |
排序 + 分页
ORDER BY子句书写的时候放在LIMIT子句的前面FROM->SELECT->ORDER BY->LIMIT
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ZkeqのCoding日志!
评论





