SQL 排序检索数据

2年前 (2022) 程序员胖胖胖虎阿
190 0 0

使用 SELECT 语句返回某个数据库表的单个列,是没有特定顺序的

SELECT prod_name FROM products;

数据一般以最初添加到表的顺序展现,如果数据后来进行过更新或删除,则此顺序将会受到 MySQL 重用回收存储空间的影响。因此,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有意义

SELECT prod_name FROM products ORDER BY prod_name;

这条语句指示 MySQL 对 prod_name 列以字母顺序排序数据。ORDER BY 自居使用的列可以是将显示的列,也可以不是

如果要按多个列排序,只要指定列名,列名之间用逗号隔开。排序完全按规定的顺序进行

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

如果希望指定排序方向,比如降序,可以指定 DESC 关键字

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

如果有多个列排序,只要将 DESC 关键字直接应用到列名后面即可,这样只对 DESC 前面的列名起作用

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

与 DESC 相反的关键字是 ASC,升序是默认的,可以不指定

下面看一个例题,使用 ORDER BY 和 LIMIT 的组合,找出一个列中最高或最低的值

SELECT prod_price
FROM products
ORDER BY prod_price DESC
LIMIT 1;

版权声明:程序员胖胖胖虎阿 发表于 2022年10月24日 上午7:08。
转载请注明:SQL 排序检索数据 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...