mysql有top查詢嗎

anonymity
發布: 2020-09-16 16:03:13
原創
3669 人瀏覽過

在MySQL中沒有top查詢,但可以使用limit限制查詢來達到相同的效果,語法為「SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset」。

mysql有top查詢嗎

用慣了access mssql server的朋友,可能在用mysql查詢前N條記錄時,習慣的使用select top n 形式的語句,在這裡說明一下,mysql沒有此語法,mysql用limit來實現相關功能,而且功能更加強大,GOOD。以下是limit在mysql中的使用詳解: 

語法:

SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
登入後複製

LIMIT 子句可以用來強制 SELECT 語句傳回指定的記錄數。 LIMIT 接受一個或兩個數字參數。參數必須是一個整數常數。

如果給定兩個參數,第一個參數指定第一個傳回記錄行的偏移量,第二個參數指定傳回記錄行的最大數目。

初始記錄行的偏移量是 0(而不是 1): 為了與 PostgreSQL 相容,MySQL 也支援句法: LIMIT # OFFSET #。
mysql> SELECT * FROM table LIMIT 5,10; // 檢索記錄行6-15 ,注意,10為偏移量 
//為了檢索從某一個偏移量到記錄集的結束所有的記錄行,可以指定第二個參數為-1:
mysql> SELECT * FROM table LIMIT 95,-1; // 檢索記錄行96-last.
//如果只給定一個參數,它表示傳回最大的記錄行數目:
mysql> SELECT * FROM table LIMIT 5; //擷取前5 個記錄行//也就是說,LIMIT n 等價於LIMIT 0,n。
如果你想得到最後幾個資料可以多加個order by id desc

mysql不支援select top n的語法,你應該用這個替換:
select * from tablename order by orderfield desc/asc limit position, counter;
position 指示從哪裡開始查詢,如果是0則是從頭開始,counter 表示查詢的數量
取前15筆記錄:
select * from tablename order by orderfield desc/asc limit 0,15

以上是mysql有top查詢嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!