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

目录

 

1、对单列进行排序  order by

2、对多个列进行排序

3、倒叙排序 desc

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


参考数据表名:person
id nameage
1atom111
2atom222
3atom333
4atom22

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表中,然后先对姓名进行正序排序,然后对年龄进行倒叙排序

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

  • 15
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
回答: 在使用order by进行排序时,可以通过指定字段后面的关键字来设置排序方式。如果不指定,默认为ASC(升序)。如果要进行倒序排序,需要使用DESC关键字。例如,如果要根据成绩进行倒序排序,可以使用以下SQL语句: SELECT * FROM student ORDER BY 成绩 DESC。在多个字段进行排序时,可以为每个字段单独设置排序方式。例如,如果要根据id倒序排序,并且在id相同的情况下再根据price倒序排序,可以使用以下SQL语句: SELECT id, NAME, price FROM rdd ORDER BY id DESC, price DESC。如果要根据一个字段的两个状态分别进行正序和倒序排序,可以使用UNION操作符将两个查询的结果合并。例如,如果要根据完成情况将工程表中的待完成的项目按时间倒序排列,完成的项目按时间正序排列,可以使用以下SQL语句: SELECT * FROM 工程 WHERE result='待完成' ORDER BY 时间 DESC UNION SELECT * FROM 工程 WHERE result='完成' ORDER BY 时间 ASC。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [oracle--sql--倒叙和正序同时存在情况归纳](https://blog.csdn.net/Dunhuang_Hyoutei/article/details/59113849)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [mysql基本语法-------------order by(排序)](https://blog.csdn.net/data_curd/article/details/106295774)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘阿童木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值