@likeapimp
web dev, web design

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

Здравствуйте! У меня есть блок, в котором из БД выводиться последние добавленные 3 записи. Рядом мне нужно вывести блок со всеми остальными записями, без этих трех, то есть сделать выборку без последних 3х добавленных записей. Как это реализовать?
  • Вопрос задан
  • 2622 просмотра
Решения вопроса 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 нагрузка на сервер БД будет намного меньше.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект