目录 MySQL中的数据排序一、 排序的基本使用二、 使用列的别名来排序三、 二级排序 Mysql中的数据排序 一、 排序的基本使用 在查询数据时,如果没有使用排序操作,默认情
ORDER BY...
来进行排序操作。在此关键字后面可以添加关键字 ASC
(ascend) 表示升序排列 (从小到大) ,DESC
(descend) 表示降序排列 (从大到小) 。ORDER BY...
关键字后没有添加 ASC
或 DESC
来指明升序还是降序排列,SQL会默认按照升序 ASC
排列。如下代码所示:SELECT employee_id, last_name, salaryFROM employeesORDER BY salary;
查询结果:
【例子1】查询员工表 employees
中的员工的 employee_id
、last_name
、salary
和 department_id
信息。并按 salary
从大到小 (降序) 进行排列。
SELECT employee_id, last_name, salaryFROM employeesORDER BY salary DESC;
查询结果:
annual_salary
) ,或者有些字段名字实在是太长了,使用简短的别名可以提高我们编程的效率。如下例子所示:【例子】查询员工表 employees
中的员工的 employee_id
、last_name
、月薪 salary
和 年薪 annual_salary
信息。并按 annual_salary
从大到小 (降序) 进行排列。
SELECT employee_id, last_name, salary, salary * (1 + IFNULL(commission_pct, 0) * 12) AS "annual_salary"FROM employeesORDER BY annual_salary DESC;
查询结果:
【注意】
格式要求,WHERE
必须声明在 FROM
后。
列的别名只能在 ORDER BY...
中使用,不能在 WHERE
中使用。**如果在 WHERE
中使用列的别名,SQL会报错。那为什么mysql中列的别名不能在 WHERE
中使用呢?原因如下:
【原因】
SELECT employee_id, last_name, department_idFROM employeesWHERE department_id IN(50, 60, 70)ORDER BY department_id DESC;
FROM...
,先去找要查询的表。WHERE...
,去筛选符合条件的元组。SELECT...
,显示你要查询的字段。在这一步才会生成列的别名,自然无法提供给上一步的 WHERE
来使用。但是可以提供给下一步的 ORDER BY
来使用。ORDER BY...
,按某列排序。这个时候可以使用列的别名来进行排序。查询结果:
在现实生活中,我们有时候希望先按某个字段排序,再按另一个字段排序。在SQL中我们可以使用二级排序来实现。使用方法请看下面例子:
【例子1】查询员工表 employees
中的员工的员工ID employee_id
、名字 last_name
、月薪 salary
和部门ID department_id
。并先按部门ID department_id
降序排列,再按 salary
从大到小 (降序) 进行排列。
SELECT employee_id, last_name, salary, department_idFROM employeesORDER BY department_id DESC, salary DESC;
查询结果:
依次类推,可以在 ORDER BY
后面加逗号,来实现三级、四级…排序。
来源地址:https://blog.csdn.net/Sihang_Xie/article/details/125490823
--结束END--
本文标题: 【MySQL】MySQL中如何对数据进行排序
本文链接: https://lsjlt.com/news/387633.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0