Как выбрать строки по диапазону? - программирование
Подтвердить что ты не робот

Как выбрать строки по диапазону?

Возможный дубликат:
Выберите оператор в SQLite, распознающем номер строки

Например, SELECT * FROM table WHERE [row] BETWEEN x AND y

Как это можно сделать? Я проделал некоторое чтение, но не нашел ничего конкретного.

Представьте список, в котором вы хотите получить результаты, полученные с помощью X-результатов, поэтому для страницы 10 вам понадобятся результаты из строк 10 * X-10 * X + X. Вместо того, чтобы отображать ВСЕ результаты за один раз

4b9b3361

Ответ 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

Ответ 7

Предполагая, что id является основным ключом таблицы:

SELECT * FROM table WHERE id BETWEEN 10 AND 50

Для первых 20 результатов

SELECT * FROM table order by id limit 20;