Usuwanie rekordów zostawiając n ostatnich w MySQL

0

Witam,

Mam problem z tego typu zapytaniem:

DELETE FROM tabela WHERE id NOT IN (SELECT * FROM tabela ORDER BY data DESC LIMIT n)

Otrzymuje błąd, że MySQL nie wspiera polecenia LIMIT w podzapytaniach. Jak inaczej można by napisać to zapytanie?

Pozdrawiam,
brando.

0

Zapewne trzeba będzie sobie to rozbić na dwa zapytania. Bo nie wiem czy MySQL w nowych a darmowych wersjach wspiera coś takiego.

http://stackoverflow.com/questions/3984097/is-there-a-workaround-for-using-limit-in-a-subquery-in-mysql

0

A może tak: (nie sprawdzałem)

DELETE a FROM tabela a JOIN (SELECT id FROM tabela ORDER BY data DESC LIMIT n) x ON x.id=.id

1 użytkowników online, w tym zalogowanych: 0, gości: 1