Выберите результаты из середины отсортированного списка? - PullRequest
6 голосов
/ 21 июля 2010

У меня есть простая таблица с 300 строками, и после упорядочивания я хочу выбрать строки 11-50.Должен ли я ограничить 50 и удалить 10 верхних строк как-то?

Ответы [ 2 ]

7 голосов
/ 21 июля 2010
SELECT * 
FROM table
ORDER BY somecolumn
LIMIT 10,40 

Из руководства MySQL:
Предложение LIMIT может использоваться для ограничения числа строк, возвращаемых оператором SELECT. LIMIT принимает один или два числовых аргумента, которые должны быть неотрицательными целочисленными константами (кроме случаев использования подготовленных операторов). С двумя аргументами первый аргумент задает смещение первой строки, которую нужно вернуть, а второй - максимальное количество возвращаемых строк. Смещение начальной строки 0 (не 1)

4 голосов
/ 21 июля 2010

Синтаксис LIMIT включает значение смещения, поэтому вы должны использовать:

LIMIT 10, 40

..., чтобы получить строки 11 - 50, поскольку начальная строка смещения равна нулю (не 1).

...