參數(shù)指定第一個返回記錄行的偏移量,第二個參數(shù)指定返回記錄行的最大數(shù)目。
創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設(shè)計、做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)鎮(zhèn)平,十載網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
初始記錄行的偏移量是 0(而不是 1): 為了與 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。
mysql SELECT * FROM table LIMIT 5,10; // 檢索記錄行 6-15 ,注意,10為偏移量
//為了檢索從某一個偏移量到記錄集的結(jié)束所有的記錄行,可以指定第二個參數(shù)為 -1:
mysql SELECT * FROM table LIMIT 95,-1; // 檢索記錄行 96-last.
//如果只給定一個參數(shù),它表示返回最大的記錄行數(shù)目:
mysql SELECT * FROM table LIMIT 5; //檢索前 5 個記錄行 //也就是說,LIMIT n 等價于 LIMIT 0,n。
如果你想得到最后幾條數(shù)據(jù)可以多加個 order by id desc
mysql不支持select top n的語法,應(yīng)該用這個替換:
select * from tablename order by orderfield d
不可以 。
在mysql 中用limit
比如要查詢user表中的前10條數(shù)據(jù)
用 select * from user limit 10
還可以分頁查詢 比sqlserver 方便多拉。
分頁用 select * from user limit 10,2 //10代表 顯示前10條,2表示 顯示第2也的數(shù)據(jù)
查詢每門科目的前3名。
對于查詢的結(jié)果,一般有兩種情況。
表所有數(shù)據(jù)為:
情況1:對于分?jǐn)?shù)相同的人,其后面的人 緊跟著名次排,直到排夠名次3,就不再往后取了。
情況2:對于分?jǐn)?shù)相同的人,若當(dāng)前相同名次的人數(shù)大于或等于 3, 則相同分?jǐn)?shù)其后面的人不再參于top3了。
在情況2中 ,為什么”李四 - java“ 這行沒有了呢?
可以這樣理解,在情況2中相當(dāng)于使用了 名次空缺 , 分?jǐn)?shù)相同的人其后面那個人,的名次為 前面的人數(shù)+1 , 這里的 ”李四-java“這行,他的名次應(yīng)當(dāng)是 5 , 所有top3自然取不到 ”李四-java“這行。
情況2和情況 寫法都是對應(yīng)的, 需要注意的是 并列名次,后面的人 是否需要保持名次空缺。那么統(tǒng)計的時候就需要根據(jù)情況去重。
參考鏈接: