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

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

Здравствуйте! У меня есть блок, в котором из БД выводиться последние добавленные 3 записи. Рядом мне нужно вывести блок со всеми остальными записями, без этих трех, то есть сделать выборку без последних 3х добавленных записей. Как это реализовать?
  • Вопрос задан
  • 2627 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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 нагрузка на сервер БД будет намного меньше.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽