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

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

2、对多个列进行排序

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

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

SELECT name,age FROM person ORDER BY age,name      

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

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

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

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

3、倒叙排序 desc

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

desc 用在order by后面

SELECT age,name FROM person ORDER BY age desc

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

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

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

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

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

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

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/weixin_42893232/article/details/120728622
今日推荐