29

重複の可能性:
行番号を認識するSQLiteのステートメントを選択してください

例えば、SELECT * FROM table WHERE [row] BETWEEN x AND y

これはどのように行うことができますか?私はいくつかの読書をしましたが、特に正しいものは何も見つかりませんでした。

結果をX量の結果でページングするリストを想像してみてください。したがって、10ページでは、行10*Xから10*X+Xの結果が必要になります。すべての結果を一度に表示するのではありません。

4

7 に答える 7

68

mysqlには制限があり、次のようにクエリを実行できます。

SELECT * FROM table limit 100` -- get 1st 100 records
SELECT * FROM table limit 100, 200` -- get 200 records beginning with row 101

Oracleの場合、rownumを使用できます

ここでは、mysqlselectの構文と使用法を参照してlimit ください

SQLiteの場合、がありますlimit, offsetSQLiteを使用したことはありませんが、 SQLiteのドキュメントで確認しました。ここでSQLiteの例を確認してください。

于 2012-12-28T11:32:45.353 に答える
10

あなたの説明に続いて、あなたは限界を探しています:

SELECT * FROM `table` LIMIT 0, 10 

これにより、データベースからの最初の10件の結果が表示されます。

SELECT * FROM `table` LIMIT 5, 5 .

5-9(5,6,7,8,9)を表示します

構文は次のパターンに従います。

SELECT * FROM `table` LIMIT [row to start at], [how many to include] .

が2つの値の間にある行を選択するためのSQLは次のとおりです。

SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2

参照:http ://www.w3schools.com/sql/sql_between.asp

行番号を確認したい場合は、rownumを使用できます。

SELECT column_name(s)
FROM table_name
WHERE rownum 
BETWEEN x AND y

ただし、rownumはほとんどの場合異なるため、使用しているデータベースエンジンを知る必要があります。

于 2012-12-28T11:30:39.700 に答える
9

rownumを使用できます:

SELECT * FROM table WHERE rownum > 10 and rownum <= 20
于 2012-12-28T11:31:31.800 に答える
2

間条件の使用

SELECT *
FROM TEST
WHERE COLUMN_NAME BETWEEN x AND y ;

または、Just演算子を使用して、

SELECT *
FROM TEST
WHERE COLUMN_NAME >= x AND COLUMN_NAME   <= y;
于 2012-12-28T11:31:24.970 に答える
1

独自のコードを試しましたか?
これは機能するはずです:

SELECT * FROM people WHERE age BETWEEN x AND y
于 2012-12-28T11:30:19.403 に答える
1

LIMIT句を使用します。

/* rows x- y numbers */
SELECT * FROM tbl LIMIT x,y;

参照:http ://dev.mysql.com/doc/refman/5.0/en/select.html

于 2012-12-28T11:32:46.887 に答える
1

idテーブルの主キーであると仮定します。

SELECT * FROM table WHERE id BETWEEN 10 AND 50

最初の20件の結果

SELECT * FROM table order by id limit 20;
于 2012-12-28T11:34:50.707 に答える