Ik ben een beetje op zoek naar de simpelste manier om de laatste X records te behouden en alle andere te deleten. Het leek me het mooist om even volgende query te draaien:
Alleen krijg ik dan volgende error:
Error Code : 1235
This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
(31 ms taken)
trouwens wel grappig dat een programma weet dat het bepaalde dingen wél kan in een nieuwere versie
De enige andere manier die ik bedenken is:
1. laatste 10 records nemen
2. kijken of er wel 10 zijn
3. testtime uitlezen van 10e record
4. deleten van alles < testtime van 10e record
dit zou neerkomen op 2 queries en een loop. Kan dit echt niet simpeler
SQL:
1
2
| delete from isp_users_speedtest where userid=1 and testtime not in ( select testtime from isp_users_speedtest where userid=1 order by testtime desc limit 0,10) |
Alleen krijg ik dan volgende error:
Error Code : 1235
This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
(31 ms taken)
trouwens wel grappig dat een programma weet dat het bepaalde dingen wél kan in een nieuwere versie
De enige andere manier die ik bedenken is:
1. laatste 10 records nemen
2. kijken of er wel 10 zijn
3. testtime uitlezen van 10e record
4. deleten van alles < testtime van 10e record
dit zou neerkomen op 2 queries en een loop. Kan dit echt niet simpeler
[ Voor 12% gewijzigd door WhiteDog op 16-06-2006 19:19 ]