SQL 排序檢索數據


使用 SELECT 語句返回某個數據庫表的單個列,是沒有特定順序的sql

SELECT prod_name FROM products;

數據通常以最初添加到表的順序展示,若是數據後來進行過更新或刪除,則此順序將會受到 MySQL 重用回收存儲空間的影響。所以,若是不明確規定排序順序,則不該該假定檢索出的數據的順序有意義數據庫

SELECT prod_name FROM products ORDER BY prod_name;

這條語句指示 MySQL 對 prod_name 列以字母順序排序數據。ORDER BY 自居使用的列能夠是將顯示的列,也能夠不是code

若是要按多個列排序,只要指定列名,列名之間用逗號隔開。排序徹底按規定的順序進行排序

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

若是但願指定排序方向,好比降序,能夠指定 DESC 關鍵字class

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,升序是默認的,能夠不指定co

下面看一個例題,使用 ORDER BY 和 LIMIT 的組合,找出一個列中最高或最低的值

SELECT prod_price
FROM products
ORDER BY prod_price DESC
LIMIT 1;
相關文章
相關標籤/搜索