База данных: SQL Pagination? - PullRequest
       18

База данных: SQL Pagination?

0 голосов
/ 09 октября 2009

Я использую MySQL.

Я хочу ограничить количество строк, извлекаемых из базы данных. У меня есть оператор SQL, который возвращает 10000 записей, которые имеют отношение к поиску.

SELECT colA, colB, colC
FROM xyzTable
WHERE ...
ORDER BY colA

Я знаю, как использовать оператор TOP для возврата числа TOP x выбранных строк, но как мне выбрать строки строк в середине результата поиска, например, строки 50-100?

Ответы [ 5 ]

1 голос
/ 09 октября 2009

Ограничение в MySQL упрощает:

SELECT cols
FROM table
LIMIT offset, rowcount

В вашем случае:

LIMIT 49, 50 -- skip rows 0-49, grab the next 50
0 голосов
/ 09 октября 2009
SELECT colA, colB, colC
FROM xyzTable
WHERE ...
ORDER BY colA LIMIT 49,50;

LIMIT смещение строки, количество строк Первый аргумент определяет смещение первой строки, которую нужно вернуть, а второй - максимальное количество строк, которые нужно вернуть ...

0 голосов
/ 09 октября 2009
SELECT colA, colB, colC
FROM xyzTable
WHERE ...
ORDER BY colA
LIMIT 10, 5

LIMIT 10, 5 определяет диапазон результатов (это вернет результаты 11,12,13,14,15).

0 голосов
/ 09 октября 2009

Использование LIMIT :

SELECT ... FROM ... WHERE ... ORDER BY ... LIMIT 50, 50

Предложение LIMIT можно использовать для ограничить количество возвращаемых строк с помощью оператора SELECT. LIMIT принимает один или два числовых аргумента

0 голосов
/ 09 октября 2009

, сделав что-то вроде:

SELECT colA, colB, colC FROM xyzTable WHERE ... ORDER BY colA LIMIT 30 , 40

30 - число, с которого вы хотите начать, теперь 40 - это множество предметов, которые вы хотите увидеть.

Затем вы можете увеличивать эти значения по своему усмотрению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...