Dupliquer possible:
Sélectionnez une instruction dans SQLite reconnaissant le numéro de ligne
Par exemple, SELECT * FROM table WHERE [row] BETWEEN x AND y
Comment cela peut-il être fait? J'ai lu un peu mais je n'ai rien trouvé de particulièrement correct.
Imaginez une liste dans laquelle vous souhaitez que les résultats soient paginés avec une quantité X de résultats. Ainsi, pour la page 10, vous aurez besoin des résultats des lignes 10 * X à 10 * X + X. Plutôt que d'afficher TOUS les résultats en une fois.
Pour mysql vous avez une limite, vous pouvez lancer la requête comme suit:
SELECT * FROM table limit 100` -- get 1st 100 records
SELECT * FROM table limit 100, 200` -- get 200 records beginning with row 101
Pour Oracle, vous pouvez utiliser rownum
Voir la syntaxe et l'utilisation de mysql select pour limit
here .
Pour SQLite, vous avez limit, offset
. Je n'ai pas utilisé SQLite mais je l'ai vérifié sur Documentation SQLite . Vérifiez l'exemple pour SQLite ici .
Vous pouvez utiliser rownum :
SELECT * FROM table WHERE rownum > 10 and rownum <= 20
Après votre clarification, vous recherchez une limite:
SELECT * FROM `table` LIMIT 0, 10
Cela affichera les 10 premiers résultats de la base de données.
SELECT * FROM `table` LIMIT 5, 5 .
Affichera 5-9 (5,6,7,8,9)
La syntaxe suit le modèle:
SELECT * FROM `table` LIMIT [row to start at], [how many to include] .
Le SQL pour sélectionner les lignes où column est entre deux valeurs est:
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
Voir: http://www.w3schools.com/sql/sql_between.asp
Si vous voulez aller sur le numéro de ligne, vous pouvez utiliser rownum:
SELECT column_name(s)
FROM table_name
WHERE rownum
BETWEEN x AND y
Cependant, nous avons besoin de savoir quel moteur de base de données vous utilisez car rownum est différent pour la plupart.
Utiliser entre condition
SELECT *
FROM TEST
WHERE COLUMN_NAME BETWEEN x AND y ;
Ou en utilisant juste des opérateurs,
SELECT *
FROM TEST
WHERE COLUMN_NAME >= x AND COLUMN_NAME <= y;
Avez-vous essayé votre propre code?
Cela devrait fonctionner:
SELECT * FROM people WHERE age BETWEEN x AND y
Utilisez la clause LIMIT:
/* rows x- y numbers */
SELECT * FROM tbl LIMIT x,y;
se référer: http://dev.mysql.com/doc/refman/5.0/en/select.html
En supposant que id
est la clé primaire de la table:
SELECT * FROM table WHERE id BETWEEN 10 AND 50
Pour les 20 premiers résultats
SELECT * FROM table order by id limit 20;