Hur gör man för att behålla dem 30 första posterna och radera resten?
DELETE
6 svar · 262 visningar · startad av jboy_87
Begreppen först och sist är inte relevant.
Du kan prata om de 30 poster som har högst värde i en kolumn men använd inte första och sista.
delete from t order by id desc limit 30,-1
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '-1)' at line 1
Jag var nog lite snabb där. Det går inte att offset för limit i samband med delete.
Du får nog göra det i två steg så vitt jag kan se.
set rs = connect.execute("select id from t order by id desc limit 30,1")
if not rs.eof then connect.execute "delete from t where id < " & rs(0)
ska testa!
ska det se ut så här i PHP? :q
$sql = "SELECT Count(ID1) from t order by Datum DESC limit 30,1";
$result = mysql_query($sql);
$antal = mysql_result($result, 0);
if ($antal > 0) {
mysql_query("delete from t where ID1 < $antal");
}
löste det med att ta bort Count