SQL中的SELECT操作,实际上就是对数据集合进行操作,返回的也是一个数据集合。而数据集市是无序的。

在未指定排序规则的情况下,SELECT操作返回的是一个无序集合。即使从返回结果来看,是按照一定的顺序返回的,但这种顺序也是不稳定的。随时可能会随着表中数据的变化而改变返回顺序。

ORDER BY排序:使用字段名

在SQL中,使用ORDER BY关键字进行排序。

语法如下:

select *
from 表名
order by 字段名1 [asc|desc],字段名2 [asc|desc],...;

asc:升序排序。默认排序方式,可以省略;

desc:降序排序;

【示例】

以student_id升序排序:

select *
from school.student
order by student_id;
或
select *
from school.student
order by score desc,student_name asc;

先以score降序排序,再以student_name升序排序:

select *
from school.student
order by score desc,student_name asc;

ORDER BY排序:使用字段序号

在SQL中,使用ORDER BY排序时,除了指定字段名外,还可以使用SELECT子句中的字段顺序进行排序。

语法如下:

select 字段名1,字段名2,...
from 表名
order by 字段序号1 [asc|desc],字段序号2 [asc|desc],...;

【示例】

查询出student表中的字段student_id、student_name、age,并先以age降序排序,再以student_name升序排序:

select student_id,student_name,age
from school.student
order by 3 desc,2;
或
select student_id,student_name,age
from school.student
order by age desc,student_name;
picture loss