2009-10-09 2 views
-1

Я использую MySQL.База данных: разбиение на страницы SQL?

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

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

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

ответ

1

MySQL, limit clause делает это легко:

SELECT cols 
FROM table 
LIMIT offset, rowcount 

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

LIMIT 49, 50 -- skip rows 0-49, grab the next 50 
0

делать что-то вроде:

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

30 является числом, которое вы хотите начать, 40, который в настоящее время многих элементов, которые вы хотите видеть.

Тогда вы можете увеличить эти значения, как пожелаете.

0

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

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

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

0
SELECT colA, colB, colC 
FROM xyzTable 
WHERE ... 
ORDER BY colA 
LIMIT 10, 5 

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

0
SELECT colA, colB, colC 
FROM xyzTable 
WHERE ... 
ORDER BY colA LIMIT 49,50; 

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

Смежные вопросы