UPDATE `toplista` `t1` LEFT JOIN (SELECT @pos:=@pos+1 `pos`, `t2`.* FROM (SELECT @pos:=0) `init`, `toplista` `t2` ORDER BY `t2`.`votes` DESC) `temp` ON `t1`.`id` = `temp`.`id`
SET `t1`.`lastpos` = `temp`.`pos`, `t1`.`votes` = 0;
Pamiętaj, że zapytanie to zadziała prawidłowo tylko wówczas, gdy ktoś rzeczywiście odda głos. Jeśli nie będzie głosów, a będą informacje o poprzednio zajmowanej pozycji, to nie powinieneś tego zapytania wykonywać, bo jego wynik będzie przypadkowy (zależny od wewnętrznych ustawień serwera MySQL).