MySQL排序查询——按升序、降序、别名、表达式、函数、多个字段排序

排序查询 一、语法: 执行顺序 Select 查询列表 ③ from 表 ① 【where 筛选条件】 ② order by 排序列表(字段/表达式/函数/别名 )【asc/desc】 ④ PS:

MySQL排序查询——按升序、降序、别名、表达式、函数、多个字段排序

排序查询

一、语法: 执行顺序

Select 查询列表 ③

from 表 ①

【where 筛选条件】 ②

order by 排序列表(字段/表达式/函数/别名 )【asc/desc】 ④

PS:【】中的内容表示的是可选的;

序号① ② ③ ④表示执行顺序.

二、特点:

1.desc 代表降序,asc 代表升序;如果不写,默认是升序

2.order by子句中可以支持单个字段、多个字段、表达式、函数、别名

3.order by子句一般是放在查询语句的最后面,limit子句除外

下面是一些具体的案例演示:

1. asc升序

将所有number按照cust_num进行升序排列

2. desc降序

将所有id按照cust_id进行降序排列

注:

DESC 降序排列,ASC 升序排列,默认情况下,它是按升序排列。

order by 后面可以跟多个不同的排序字段。

如果结果中含有NULL 值,默认情况下他们总是出现在查询结果的开头。

3. 添加筛选条件

查询部门编号>=100的manager_id,department_id,salary,hiredate信息,

按入职时间的先后进行排序

4. 按别名排序

按年薪package的高低显示员工的信息和年薪

这里为字段 salary *12 *(1+ifnull (commission_pct) ,0) 起别名为 package(年薪)

5. 按表达式排序

按年薪由高到低显示员工的信息和年薪

也可以用表达式来进行排序查询

6. 按函数排序

按姓名的长度显示员工的姓名和工资

mysql中 length 是计算字段的长度,一个汉字是算三个字符,一个数字或字母算一个字符

7. 按多个字段排序

查询employee_id,salary,first_name,先按工资升序,再按员工编号降序

相关推荐