文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
排序检索数据
ORDER BY
用于对结果集按照一个列或者多个列进行排序。默认按照升序对记录进行排序,如果需要按照降序对记录进行排序,可以使用 DESC
关键字。
检索顾客名称并且排序
有表 Customers
, cust_id
代表客户 id, cust_name
代表客户姓名。
cust_id | cust_name |
---|---|
a1 | andy |
a2 | ben |
a3 | tony |
a4 | tom |
a5 | an |
a6 | lee |
a7 | hex |
从 Customers
中检索所有的顾客名称( cust_name
),并按从 Z 到 A 的顺序显示结果。
答案:
SELECT cust_name
FROM Customers
ORDER BY cust_name DESC
对顾客 ID 和日期排序
有 Orders
表:
cust_id | order_num | order_date |
---|---|---|
andy | aaaa | 2021-01-01 00:00:00 |
andy | bbbb | 2021-01-01 12:00:00 |
bob | cccc | 2021-01-10 12:00:00 |
dick | dddd | 2021-01-11 00:00:00 |
编写 SQL 语句,从 Orders
表中检索顾客 ID( cust_id
)和订单号( order_num
),并先按顾客 ID 对结果进行排序,再按订单日期倒序排列。
答案:
# 根据列名排序
# 注意:是 order_date 降序,而不是 order_num
SELECT cust_id, order_num
FROM Orders
ORDER BY cust_id,order_date DESC
知识点: order by
对多列排序的时候,先排序的列放前面,后排序的列放后面。并且,不同的列可以有不同的排序规则。
按照数量和价格排序
假设有一个 OrderItems
表:
quantity | item_price |
---|---|
1 | 100 |
10 | 1003 |
2 | 500 |
编写 SQL 语句,显示 OrderItems
表中的数量( quantity
)和价格( item_price
),并按数量由多到少、价格由高到低排序。
答案:
SELECT quantity, item_price
FROM OrderItems
ORDER BY quantity DESC,item_price DESC
检查 SQL 语句
有 Vendors
表:
vend_name |
---|
海底捞 |
小龙坎 |
大龙燚 |
下面的 SQL 语句有问题吗?尝试将它改正确,使之能够正确运行,并且返回结果根据 vend_name
逆序排列。
SELECT vend_name,
FROM Vendors
ORDER vend_name DESC
改正后:
SELECT vend_name
FROM Vendors
ORDER BY vend_name DESC
知识点:
- 逗号作用是用来隔开列与列之间的。
- ORDER BY 是有 BY 的,需要撰写完整,且位置正确。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论