//搜索前10條記錄?
10年積累的成都網(wǎng)站建設(shè)、網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有烏翠免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
select * from table limit 10?
//倒序排列----以id做排序
select * from table order by id desc?
//正序排列----以id號排序
select * from table order by id asc?
//搜索前10條記錄并倒序排列?
select * from table order by id desc limit 10?
//limit 要放在后面
排序可以是升序的 (ASC),也可以是降序的 (DESC)。如果未指定是升序還是降序,就假定為 ASC。
下面的查詢返回按 ProductID 升序排序的結(jié)果:
代碼如下 復(fù)制代碼
USE AdventureWorks2008R2;
GO
SELECT ProductID, ProductLine, ProductModelID
FROM Production.Product
ORDER BY ProductID;
如果 ORDER BY 子句中指定了多個列,則排序是嵌套的。下面的語句先按產(chǎn)品子類別降序排序 Production.Product 表中的行,然后在每個產(chǎn)品子類別中按 ListPrice 升序排序這些行。
代碼如下 復(fù)制代碼
USE AdventureWorks2008R2;
GO
SELECT ProductID, ProductSubcategoryID, ListPrice
FROM Production.Product
ORDER BY ProductSubcategoryID DESC, ListPrice;
問題
同一個查詢的結(jié)果集為什麼有時候是按他想要的順序排列,有時候又不是,或者是在SQL2000里是這個順序,到了SQL2005/2008又是那個順序?
其實(shí),只要語句里沒有指定“order by”,SQLSERVER并不會按照順序返回的。有可能你的表里有一個字段已經(jīng)建立了索引
你想結(jié)果集按照那個建立了索引的字段排序,那么你不指定“order by”是沒有問題的,因?yàn)楸淼拇鎯樞蚓褪前凑漳莻€字段
的順序排好序了,所以可以不指定“order by”,但是如果你沒有在想排序的那個字段建立索引,或者在SQL2000里建立了
索引,而在SQL2005/2008里沒有建立索引,那么就要明確地用“order by”指定。如果你沒有指定,哪怕一模一樣的查詢,
結(jié)果集順序這一次和上一次不一樣是很正常的。
可以通過 “order by 字段名 asc (desc)” 命令進(jìn)行排序。
sql:select * from tablename order by id DESC;
用 DESC 表示按倒序排序(即:從大到小排序) ,用 ACS 表示按正序排序(即:從小到大排序)。
參考資料
csdn.csdn[引用時間2018-1-28]