mysql中排序怎么写,mysql中的排序函数

mysql中排序怎么写,mysql中的排序函数,MySQL如何对数据进行排序图文详解

我们知道SQLSELECT语句用于从MySQL表中读取数据。下面这篇文章主要介绍MySQL如何对数据进行排序的相关信息。通过图文非常详细的介绍,有需要的朋友可以参考一下。

目录

一、排序的基本用法二。使用列别名排序III。二级排序汇总

一、 排序的基本使用

查询数据时,如果没有使用排序操作,默认情况下,SQL会按照元组添加的顺序对查询结果进行排序。在SQL中,关键字ORDER BY.用于排序。您可以在该关键字后添加关键字ASC(升序)来表示升序(从小到大),添加关键字DESC(降序)来表示降序(从大到小)。如果在排序依据后没有添加ASC或DESC.关键字来指示升序或降序,默认情况下,SQL将按升序ASC排序。代码如下:

SELECT雇员标识,姓氏,薪金

来自员工

按工资排序;

查询结果:

[示例1]在employees表中查询雇员的employee_id、last_name、salary和department_id信息。而且是按工资降序排列的。

SELECT雇员标识,姓氏,薪金

来自员工

按薪金DESC排序;

查询结果:

二、 使用列的别名来排序

在SQL中,可以使用字段(列)的别名进行排序。因为有时候我们需要计算表中没有的字段(比如annual_salary _ salary),或者有些字段名称太长,使用短别名可以提高我们的编程效率。如下例所示:

[示例]在employees表中查询雇员的雇员id、姓氏、月薪和年薪。并且按照年薪降序排列。

SELECT雇员id,姓氏,薪金,

薪金* (1 IFNULL(commission_pct,0) * 12)作为“年薪”

来自员工

按年薪DESC排序;

查询结果:

[注意]

格式要求,WHERE必须在FROM之后声明。列的别名只能在ORDER BY中使用.不是哪里。* *如果在WHERE中使用列的别名,SQL将报告错误。那为什么MySQL中的列别名不能用在WHERE中?原因如下:

【原因】

SELECT雇员标识,姓氏,部门标识

来自员工

其中department_id IN(50,60,70)

按部门id DESC排序;

在SQL中,查询语句不是按照上面第1行到第4行的代码从上到下执行的。相反,首先执行.查找要查询的表。然后执行第三行,其中.筛选出符合条件的元组。然后执行第1行选择.显示要查询的字段。这一步会生成列的别名,自然不能提供给上一步的WHERE。但是可以在下一步中提供给订单。最后,第四行,ORDER BY.按列排序。这时,可以使用列的别名进行排序。

查询结果:

三、 二级排序

在现实生活中,我们有时想先按一个字段排序,再按另一个字段排序。在SQL中,我们可以使用二级排序。请参见下面的用法示例:

[示例1]在employees表中查询雇员的雇员ID employee_id、名字姓氏、月薪和部门ID department_id。它们先按部门ID department_id降序排列,然后按薪金降序排列。

SELECT雇员标识,姓氏,薪金,部门标识

来自员工

按部门排序_id DESC,薪金desc;

查询结果:

以此类推,可以在ORDER BY后面加一个逗号,实现三级、四级…排序。

总结

这就是这篇关于MySQL如何对数据进行排序的文章。有关MySQL数据排序的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

mysql中排序怎么写,mysql中的排序函数