Как выбрать строки по диапазону?
Возможный дубликат:
Выберите оператор в SQLite, распознающем номер строки
Например, SELECT * FROM table WHERE [row] BETWEEN x AND y
Как это можно сделать? Я проделал некоторое чтение, но не нашел ничего конкретного.
Представьте список, в котором вы хотите получить результаты, полученные с помощью X-результатов, поэтому для страницы 10 вам понадобятся результаты из строк 10 * X-10 * X + X. Вместо того, чтобы отображать ВСЕ результаты за один раз
Ответы
Ответ 1
Для 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
Смотрите синтаксис и использование mysql для limit
здесь.
Для SQLite у вас есть limit, offset
. Я не использовал SQLite, но я проверил его на SQLite Documentation. Пример для SQLite здесь.
Ответ 2
Вы можете использовать rownum:
SELECT * FROM table WHERE rownum > 10 and rownum <= 20
Ответ 3
Следуя вашему пояснению, вы ищете ограничение:
SELECT * FROM `table` LIMIT 0, 10
Это отобразит первые 10 результатов из базы данных.
SELECT * FROM `table` LIMIT 5, 5 .
Отобразится 5-10
Синтаксис следует шаблону:
SELECT * FROM `table` LIMIT [row to start on], [how many to include] .
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 отличается для большинства.
Ответ 4
Использование Между условием
SELECT *
FROM TEST
WHERE COLUMN_NAME BETWEEN x AND y ;
Или используя операторы Just,
SELECT *
FROM TEST
WHERE COLUMN_NAME >= x AND COLUMN_NAME <= y;
Ответ 5
Вы пробовали свой собственный код?
Это должно работать:
SELECT * FROM people WHERE age BETWEEN x AND y
Ответ 6
Используйте предложение LIMIT:
/* rows x- y numbers */
SELECT * FROM tbl LIMIT x,y;
refer: http://dev.mysql.com/doc/refman/5.0/en/select.html
Ответ 7
Предполагая, что id
является основным ключом таблицы:
SELECT * FROM table WHERE id BETWEEN 10 AND 50
Для первых 20 результатов
SELECT * FROM table order by id limit 20;