mamy rekordy:
id – val
1 – 1
2 – 2
3 – 3
4 – 4
Potrzebujemy, aby wartości odwrócić kolejnością (np zmienić kolejność wierzchołków wielokąta w bazie). Najprościej:
select @maksik = max(val);
update val = -1 * val + maksik;
(ok, wiem, że to niesqlowo, chodzi o ideę ;D).
a nie przypadkiem:
update val = -1 * val + maksik +1; ?
pozdr, rdx
Racja ;D
Co prawda moje rozwiazanie jest nieoptymalne, bo ekonomiczniej jest dodać jeden od razu przy przypisaniu. Mamy wtedy o count(id)-1 mniej operacji. Jednakowoż, z powodu potanienia tranzystora, nikt już takimi pierdołami jak optymalizacja kodu, się nie przejmuje…
Opty-co?!