Задать вопрос
lightalex
@lightalex

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

Здравствуйте, коллеги!
Есть таблица со столбцами user и date
Подскажите, как удалить все записи кроме 6 самых свежих (по date) для user=n?
  • Вопрос задан
  • 565 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@AlexeyVD
DELETE t
  FROM table1 t
  JOIN (SELECT MIN(date) AS min_date
             FROM (SELECT date
                           FROM table1 
                           WHERE user = n
                           ORDER BY date DESC 
                           LIMIT 6) t1
        ) sel ON t.date < sel.min_date
  WHERE sel.user = n;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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