您好,登錄后才能下訂單哦!
小編給大家分享一下mysql數(shù)據(jù)庫中有沒有top查詢,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
用慣了access mssql server的朋友,可能在用mysql查詢前N條記錄時(shí),習(xí)慣的使用select top n 形式的語句,在這里說明一下,mysql沒有此語法,mysql用limit來實(shí)現(xiàn)相關(guān)功能,而且功能更加強(qiáng)大,GOOD。以下是limit在mysql中的使用詳解:
語法:
SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
LIMIT 子句可以被用于強(qiáng)制 SELECT 語句返回指定的記錄數(shù)。LIMIT 接受一個(gè)或兩個(gè)數(shù)字參數(shù)。參數(shù)必須是一個(gè)整數(shù)常量。
如果給定兩個(gè)參數(shù),第一個(gè)參數(shù)指定第一個(gè)返回記錄行的偏移量,第二個(gè)參數(shù)指定返回記錄行的最大數(shù)目。
初始記錄行的偏移量是 0(而不是 1): 為了與 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。
mysql> SELECT * FROM table LIMIT 5,10; // 檢索記錄行 6-15 ,注意,10為偏移量
//為了檢索從某一個(gè)偏移量到記錄集的結(jié)束所有的記錄行,可以指定第二個(gè)參數(shù)為 -1:
mysql> SELECT * FROM table LIMIT 95,-1; // 檢索記錄行 96-last.
//如果只給定一個(gè)參數(shù),它表示返回最大的記錄行數(shù)目:
mysql> SELECT * FROM table LIMIT 5; //檢索前 5 個(gè)記錄行 //也就是說,LIMIT n 等價(jià)于 LIMIT 0,n。
如果你想得到最后幾條數(shù)據(jù)可以多加個(gè) order by id desc
mysql不支持select top n的語法,應(yīng)該用這個(gè)替換:
select * from tablename order by orderfield desc/asc limit position, counter;
position 指示從哪里開始查詢,如果是0則是從頭開始,counter 表示查詢的個(gè)數(shù)
取前15條記錄:
select * from tablename order by orderfield desc/asc limit 0,15
看完了這篇文章,相信你對(duì)mysql數(shù)據(jù)庫中有沒有top查詢有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。