Zbigniew ‘zibi’ Jarosik Ecie-pecie o wszechświecie
  • Nov
    20

    Jak odwrócić kolejność wartości w rekordach

    Filed under: sql, tech;

    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).

    4 Comments

4 Responses to “Jak odwrócić kolejność wartości w rekordach”

  1. a nie przypadkiem:
    update val = -1 * val + maksik +1; ?

    pozdr, rdx

  2. Racja ;D

  3. 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…

  4. Opty-co?!

Leave a Reply