博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SELECT查询结果排序
阅读量:6658 次
发布时间:2019-06-25

本文共 4199 字,大约阅读时间需要 13 分钟。

1.排序数据

使用SELECT 的order by子句可以对查询结果进行排序。

确保ORDER BY子句在SELECT语句的最后,否则会出现错误。

示例:

查询产品名称并以字母顺序排序:

mysql> SELECT prod_name from Products ORDER BY prod_name;  +---------------------+| prod_name           |+---------------------+| 12 inch teddy bear  || 18 inch teddy bear  || 8 inch teddy bear   || Bird bean bag toy   || Fish bean bag toy   || King doll           || Queen doll          || Rabbit bean bag toy || Raggedy Ann         |+---------------------+9 rows in set (0.00 sec)

以价格升序排序:

mysql> SELECT prod_name,prod_price from Products ORDER BY prod_price;  +---------------------+------------+| prod_name           | prod_price |+---------------------+------------+| Fish bean bag toy   |       3.49 || Bird bean bag toy   |       3.49 || Rabbit bean bag toy |       3.49 || Raggedy Ann         |       4.99 || 8 inch teddy bear   |       5.99 || 12 inch teddy bear  |       8.99 || King doll           |       9.49 || Queen doll          |       9.49 || 18 inch teddy bear  |      11.99 |+---------------------+------------+9 rows in set (0.00 sec)

价格降序排序:

mysql> SELECT prod_name,prod_price FROM  Products ORDER BY prod_price DESC;  +---------------------+------------+| prod_name           | prod_price |+---------------------+------------+| 18 inch teddy bear  |      11.99 || King doll           |       9.49 || Queen doll          |       9.49 || 12 inch teddy bear  |       8.99 || 8 inch teddy bear   |       5.99 || Raggedy Ann         |       4.99 || Fish bean bag toy   |       3.49 || Bird bean bag toy   |       3.49 || Rabbit bean bag toy |       3.49 |+---------------------+------------+9 rows in set (0.00 sec)

2.按多个列排序

按多个列排序的时候,先按第一列排序,第一列中有相同值,相同值的记录再按第二列排序;如果第一列都是唯一的,则不再按第二列排序。如下示例:

mysql> SELECT prod_id,prod_price,prod_name FROM  Products ORDER BY prod_price,prod_name;  +---------+------------+---------------------+| prod_id | prod_price | prod_name           |+---------+------------+---------------------+| BNBG02  |       3.49 | Bird bean bag toy   || BNBG01  |       3.49 | Fish bean bag toy   || BNBG03  |       3.49 | Rabbit bean bag toy || RGAN01  |       4.99 | Raggedy Ann         || BR01    |       5.99 | 8 inch teddy bear   || BR02    |       8.99 | 12 inch teddy bear  || RYL01   |       9.49 | King doll           || RYL02   |       9.49 | Queen doll          || BR03    |      11.99 | 18 inch teddy bear  |+---------+------------+---------------------+9 rows in set (0.00 sec)

上面查询先依据价格排序,价格相同的按prod_name字典顺序排序。

也可以使用位置代替排序列名,上述sql语句还可以这样写:

mysql> SELECT prod_id,prod_price,prod_name FROM  Products ORDER BY 2,3;

使用位置代表列名,优点是不用重新输入列名,缺点是列名更改时会造成错误。

升序和降序

ORDER BY查询默认是升序排序,降序可以加上DESC,比如按价格由高到低排序:

mysql> SELECT prod_id,prod_price,prod_name FROM  Products ORDER BY prod_price DESC,prod_name;  +---------+------------+---------------------+| prod_id | prod_price | prod_name           |+---------+------------+---------------------+| BR03    |      11.99 | 18 inch teddy bear  || RYL01   |       9.49 | King doll           || RYL02   |       9.49 | Queen doll          || BR02    |       8.99 | 12 inch teddy bear  || BR01    |       5.99 | 8 inch teddy bear   || RGAN01  |       4.99 | Raggedy Ann         || BNBG02  |       3.49 | Bird bean bag toy   || BNBG01  |       3.49 | Fish bean bag toy   || BNBG03  |       3.49 | Rabbit bean bag toy |+---------+------------+---------------------+9 rows in set (0.00 sec)

DESC只对在它前面的一个列名有作用,mysql> SELECT prod_id,prod_price,prod_name FROM Products ORDER BY prod_price,prod_name DESC;对prod_price无效:

mysql> SELECT prod_id,prod_price,prod_name FROM  Products ORDER BY prod_price,prod_name DESC;  +---------+------------+---------------------+| prod_id | prod_price | prod_name           |+---------+------------+---------------------+| BNBG03  |       3.49 | Rabbit bean bag toy || BNBG01  |       3.49 | Fish bean bag toy   || BNBG02  |       3.49 | Bird bean bag toy   || RGAN01  |       4.99 | Raggedy Ann         || BR01    |       5.99 | 8 inch teddy bear   || BR02    |       8.99 | 12 inch teddy bear  || RYL02   |       9.49 | Queen doll          || RYL01   |       9.49 | King doll           || BR03    |      11.99 | 18 inch teddy bear  |+---------+------------+---------------------+9 rows in set (0.00 sec)

转载地址:http://yhxto.baihongyu.com/

你可能感兴趣的文章
hive进行词频统计
查看>>
复旦大学2016--2017学年第二学期(16级)高等代数II期末考试第七大题解答
查看>>
linux kill杀死进程
查看>>
Git协作流程
查看>>
NET(C#):使用HttpWebRequest头中的Range下载文件片段
查看>>
java(9)并发编程
查看>>
删除表里重复数据
查看>>
HDOJ How many ways?? 2157【矩阵高速幂】
查看>>
Android--向SD卡读写数据
查看>>
mysql数据类型总结
查看>>
地图之CLLocationManager的使用 定位功能使用
查看>>
《linux 内核全然剖析》 mktime.c
查看>>
Java8学习之旅2---基于Lambda的JDBC编程
查看>>
Logon database Tiger引起DataGuard不同步问题
查看>>
【css】垂直居中的几种写法
查看>>
find中的-print0和xargs中-0的奥妙
查看>>
hdu 3622 二分+2-sat
查看>>
SQL 模糊查询
查看>>
spring (由Rod Johnson创建的一个开源框架)
查看>>
BootStrap字体图标不显示、下拉菜单不显示
查看>>