Вложенный запрос к той же таблице
Как вы думаете, такой запрос создаст проблему при выполнении моего программного обеспечения? Мне нужно удалить все таблицы, кроме последних 2 групп записей, сгруппированных по времени вставки.
delete from tableA WHERE time not in
(
SELECT time FROM
(select distinct time from tableA order by time desc limit 2
) AS tmptable
);
У вас есть лучшее решение? Я использую mysql 5.5
1 ответ
Я не вижу ничего плохого в вашем запросе, но я предпочитаю использовать OUTER JOIN/NULL
проверьте (плюс это устраняет необходимость в одном из вложенных подзапросов):
delete a
from tableA a
left join
(
select distinct time
from tableA
order by time desc
limit 2
) b on a.time = b.time
where b.time is null