Mysql排序查询

Posted 陕西五花肉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql排序查询相关的知识,希望对你有一定的参考价值。

排序查询
/*
引入:SELECT * FROM emplotees;

语法:
select 查询列表
from 表
[ where 筛选条件]
order by 排序列表 [asc|desc]

#进阶查询3: 排序查询
/*
引入:SELECT * FROM emplotees;

语法:
	select 查询列表
	from 表
	[ where 筛选条件]
	order by 排序列表 [asc|desc]	



特点:
	1.asc代表升序 desc代表降序
	如果不写,默认是升序
	2. order by 子句中可以支持 单个字段 多个字段 表达式 函数 别名
	3. order by 子句一般是放在查询语句最后一句,limit除外
*/
#案例1:查询员工信息,要求工资从高到低
SELECT * FROM employees ORDER BY salary DESC;
SELECT * FROM employees ORDER BY salary ASC;

#案例2: 查询部门编号>=90的员工信息 按入职时间进行先后排序
SELECT * FROM employees WHERE department_id>=90 ORDER BY hiredate ASC;

#案例3: 按年薪的高低显示员工的信息和年薪  [按表达式排序]
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 年薪 DESC;

#案例5:按姓名的长度显示员工的姓名和工资 [按函数排序]
SELECT	LENGTH(last_name) 字节长度 ,last_name,salary
FROM employees
ORDER BY LENGTH(last_name) DESC;

#按了6:查询员工信息 要求先按工资排序 --升序 再按员工编号排序  --降序[安多个字段排序]
SELECT *
FROM employees
ORDER BY salary ASC,employee_id DESC;

以上是关于Mysql排序查询的主要内容,如果未能解决你的问题,请参考以下文章

mysql 查询时 按照某个字段计算后的值 排序?

MySQL基础篇 | 简单的查询条件查询排序查询

嵌套 MySQL 查询和字母数字排序

Mysql模糊查询,按相似度排序

差点无缘Offer!mysql查询某一分区数据

Laravel 分页 数据丢失问题解决