1. 程式人生 > >mysql 實現select top n

mysql 實現select top n

用慣了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