Добавление порядка с помощью смещения и ограничения в запросе mysql

У меня есть запрос mysql

SELECT * FROM lead LIMIT 5 OFFSET 0 

чтобы выбрать данные из строки таблицы и ограничить результаты до 5 со смещением 0. Я хотел бы заказать результаты по своему id по desc, поэтому результаты будут заполнены в качестве последних добавленных данных.

Я пробовал

SELECT * FROM lead LIMIT 5 OFFSET 0 order by id desc

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

Спасибо заранее.

Ответ 1

Вы должны

select * from lead order by id desc LIMIT 5 OFFSET 0

В руководстве (http://dev.mysql.com/doc/refman/5.0/en/select.html) описано, что LIMIT разрешено появляться только после ORDER BY.

Ответ 2

Предложение ORDER BY находится перед предложением LIMIT. Это имеет смысл, потому что вы сначала хотите, чтобы набор записей был заказан, а затем применил ограничение.

SELECT * FROM lead ORDER BY id DESC LIMIT 0, 5

Вы можете использовать синтаксис LIMIT offset, row_ count или LIMIT row_count OFFSET offset.

Check: http://dev.mysql.com/doc/refman/5.0/en/select.html