目录
为了方便查看数据,可以对数据进行排序。
语法
select 查询列表
from 表名
【where 筛选条件】
order by 排序列表 【asc|desc 】
解析:
- 将行数据按照排序列表中第一个进行排序,如果某些行的值相同时,则按照列表第二个参数排序,以此类推
- 默认按照列值从小到大排列(asc)
- asc从小到大排列,即升序
- desc从大到小排序,即降序
1、按单个字段排序
例1:查询员工信息,工资从高到低进行排序。
SELECT
*
FROM
employees
ORDER BY salary DESC ;
2、添加筛选条件再排序
例2:查询部门编号>=90的员工信息,并按入职先后降序。
SELECT
*
FROM
employees
WHERE employee_id >= 90
ORDER BY hiredate ASC ;
3、按表达式排序
例1.查询员工的信息和年薪 按年薪降序进行排序。
SELECT *,salary*12*(1+IFNULL(commission_pct,0))
FROM employees
ORDER BY salary*12*(1+IFNULL(commission_pct,0)) DESC;
4、按别名排序
例:查询员工的信息和年薪 按年薪降序进行排序【按照别名排序】
SELECT *,salary*12*(1+IFNULL(commission_pct,0)) 年薪
FROM employees
ORDER BY 年薪 ASC;
5、按函数排序
例:查询员工名和工资,并且按名字的长度降序。
SELECT LENGTH(last_name) 字节长度 , last_name ,salary
FROM employees
ORDER BY LENGTH(last_name) DESC;
6、按多个字段排序
例:查询员工信息,要求先按工资降序,再按员工编号升序
SELECT
*
FROM
employees
ORDER BY salary DESC,
employee_id ASC ;
原则是首先按照工资进行排序,如果两个人的工资相同,则按照员工编号进行排序。