MYSQL:排序数据

数据总览:
在这里插入图片描述
检索prod_name列:

SELECT prod_name
FROM products;

结果:
在这里插入图片描述
可以看出结果的输出顺序并没有什么意义。
如果需要让结果排序输出的话,可以使用ORDER BY子句。ORDER BY子句取一个或多个列的名字,据此对输出进行排序。
加入ORDER BY子句的结果:
在这里插入图片描述
在指定一条ORDER BY子句时,应该保证它是SELECT语句中最后一条子句。否则将出现错误消息。
通常,ORRDER BY子句使用的列是我们选择显示的列。但是,如果用非检索的列对数据进行排序也是可以的。

按多个列排序

SELECT prod_id, prod_price, prod_name 
FROM products
ORDER BY prod_price, prod_name;

在这里插入图片描述
除了能用列名指出排序顺序外,ORDER BY还支持按相对列位置进行排序。比如:

SELECT prod_id, prod_price, prod_name 
FROM products
ORDER BY 2,3;

结果:
在这里插入图片描述
可以看出,这里的输出与上面的查询相同。SELECT清单中指定的是选择列的相对位置而不是列名。ORDER BY 2 表示按SELECT清单中的第二个列 prod_price 进行排序。ORDER BY 2, 3 表示先按 prod_price,再按 prod_name 排序。

指定排序方向:
ORDER BY子句默认是升序排序的。如果需要降序排序,需要使用DESC关键字。

SELECT prod_id, prod_price, prod_name 
FROM products
ORDER BY prod_price DESC;

在这里插入图片描述
如果想要在多个列上降序排序,必须对每一列指定DESC关键字。

发布了19 篇原创文章 · 获赞 0 · 访问量 332

猜你喜欢

转载自blog.csdn.net/the_name_of_science/article/details/105315595