SQlite本身沒有top功能,無法向TSQL一樣下Select top 100 * from tb_table,但SQLite提供了一個Limit關鍵字用來取得相應行數的資料
SQLite 的 LIMIT 子句用於限制由 SELECT 語句返回的數據數量。
語法
帶有 LIMIT 子句的 SELECT 語句的基本語法如下:
SELECT column1, column2, columnN
FROM table_name
LIMIT [no of rows]
下面是 LIMIT 子句與 OFFSET 子句一起使用時的語法:
SELECT column1, column2, columnN
FROM table_name
LIMIT [no of rows] OFFSET [row num]
SQLite 引擎將返回從下一行開始直到給定的 OFFSET 爲止的所有行,如下面的最後一個實例所示。
實例
假設 COMPANY 表有以下記錄
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
下面是一個實例,它限制了您想要從表中提取的行數:
sqlite> SELECT * FROM COMPANY LIMIT 6;
這將產生以下結果:
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
但是,在某些情況下,可能需要從一個特定的偏移開始提取記錄。下面是一個實例,從第三位開始提取 3 個記錄:
sqlite> SELECT * FROM COMPANY LIMIT 3 OFFSET 2;
這將產生以下結果:
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0