MySQL中如何實現select top n

2022-07-13 08:39:12 字數 1038 閱讀 4749

用慣了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中如何實現select top n

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

MySQL中如何實現select top n

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

mysql實現分頁 MySQL如何實現分頁查詢

mysql中實現分頁查詢 在資料量較小的情況下可使用limit查詢來實現分頁查詢,在資料量大的情況下使用建立主鍵或唯一索引來實現,另外可通過order by對其排序 一般情況下在mysql中進行分頁查詢時,會用到limit查詢,而且在查詢中都會使用到order by來進行排序。接下來將具體介紹mys...