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

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

Здравствуйте, коллеги!
Есть таблица со столбцами user и date
Подскажите, как удалить все записи кроме 6 самых свежих (по date) для user=n?
  • Вопрос задан
  • 565 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 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;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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