SQL基础2-- order by(排序)

目录

 

1、对单列进行排序  order by

2、对多个列进行排序

3、倒叙排序 desc

4、对个别列倒叙排序,然后个别列正序排序


参考数据表名:person
id  name age
1 atom 111
2 atom2 22
3 atom3 33
4 atom 22

1、对单列进行排序  order by

要求按年龄从小到大排序应该怎么办?

在需要排序的字段前加ORDER BY   SELECT name,age FROM person ORDER BY age

搜索姓名和年龄,然后对年龄按照从小到大排序(正序排序)

SQL基础2-- order by(排序)_第1张图片

2、对多个列进行排序

有两个22岁的 一个是atom2 一个是atom

(1)我们想要先对年龄进行正序排序,年龄相同的情况下在对姓名进行正序排序,应该怎么操作?

SELECT name,age FROM person ORDER BY age,name      

搜索姓名和年龄从person表中,然后先对年龄进行排序,然后在对name进行排序

SQL基础2-- order by(排序)_第2张图片

(2) 那如果我想先对姓名进行排序,然后名字相同的在对年龄,进行排序怎么办?

把名字放在年龄的前面就行了,order by后那个字段在前就先对那个字段进行排序                  SELECT name,age FROM person ORDER BY name,age 

搜索姓名和年龄从person表中,然后先对姓名进行排序,如果姓名相同的话在对年龄进行排序

SQL基础2-- order by(排序)_第3张图片

3、倒叙排序 desc

如果我们要求对年龄进行倒叙排序时应该怎么办呢?   用desc

desc 用在order by后面

SELECT age,name FROM person ORDER BY age desc

搜索姓名和年龄从person表中,然后对年龄倒叙排序

SQL基础2-- order by(排序)_第4张图片

4、对个别列倒叙排序,然后个别列正序排序

(1)想要对年龄倒叙排序,但是对姓名正序排序应该怎么办呢?

对需要倒叙排序的字段后面加上desc正序排序的字段后面什么都不加

SELECT age,name FROM person ORDER BY age desc,name

搜索年龄和名字从person表中,然后对年龄倒叙排序,然后如果年龄相同,在对姓名进行正序排序

SQL基础2-- order by(排序)_第5张图片

(2)那如果我想先对姓名进行正序排序,然后对年龄进行倒叙排序时,应该怎么办?

把name写在前面,然后age加上desc就行了

SELECT age,name FROM person ORDER BY name,age desc

搜索年龄和姓名从person表中,然后先对姓名进行正序排序,然后对年龄进行倒叙排序

SQL基础2-- order by(排序)_第6张图片

可扫描二维码关注公众号:刘阿童木的进化记录     大家一起学习进步

SQL基础2-- order by(排序)_第7张图片

你可能感兴趣的:(SQL学习,sql)