Задать вопрос
@likeapimp
web dev, web design

Как сделать выборку записей MySQL без последних трех?

Здравствуйте! У меня есть блок, в котором из БД выводиться последние добавленные 3 записи. Рядом мне нужно вывести блок со всеми остальными записями, без этих трех, то есть сделать выборку без последних 3х добавленных записей. Как это реализовать?
  • Вопрос задан
  • 2625 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Последние 3 записи
SELECT * FROM ... ORDER BY id DESC limit 3
Все записи кроме этих 3х
SELECT * FROM ... 
WHERE ID NOT IN (SELECT * FROM ... ORDER BY id DESC limit 3)

Вместо подзапроса можно написать конкретные id.

Вообще это плохой способ, т.к NOT IN не использует индекс.
2й запрос в Вашем конкретном случае лучше написать
SELECT * FROM ... ORDER BY id DESC limit 3, 100000
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vdem
А зачем? Получаете выборку всех записей, и уже в приложении отбрасываете последние три. IMHO нагрузка на сервер БД будет намного меньше.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы