lightalex
@lightalex

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

Здравствуйте, коллеги!
Есть таблица со столбцами user и date
Подскажите, как удалить все записи кроме 6 самых свежих (по date) для user=n?
  • Вопрос задан
  • 552 просмотра
Пригласить эксперта
Ответы на вопрос 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;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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