SQLite-LIMIT句

SQLite LIMIT 句は、SELECTステートメントによって返されるデータ量を制限するために使用されます。

構文

以下は、LIMIT句を使用したSELECTステートメントの基本的な構文です。

SELECT column1, column2, columnN 
FROM table_name
LIMIT [no of rows]

以下は、OFFSET句と一緒に使用する場合のLIMIT句の構文です。

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番目の位置から始まる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