Autor Zpráva
lionel messi
Profil
Pekný deň,

pred časom som videl práve v niektorých tunajších vláknach použitie výrazu v klauzule ORDER BY (v MySQL). Niečo na podobný spôsob:

SELECT t.*
FROM tabulka t
ORDER BY t.sloupec1 = 2, t.sloupec2 = 1, t.sloupec3 = 0

Význam tohto priradenia mi však uniká. Nepomohla ani oficiálna dokumentácia, ani kniha (Learning SQL).

Ďakujem vopred veľmi pekne za rozšírenie obzorov.
tiso
Profil
Nie je to priradenie ale porovnanie. Takže výsledkom výrazu t.sloupec1 = 2 je 0 alebo 1 a znamená, že výsledky s hodnotou 2 v tom stĺpci sa zoradia na koniec (po pridaní DESC na začiatok).
ProbablyYes
Profil
Nevím, zda to nebylo od tiso příliš složitě popsané. Jednoduše se řádky řadí dle hodnot. První bude sloupec1 s hodnotou 2, další s hodnotou 1, další s hodnotou 0. Například chceš seřadit řádky podle data vložení, ale první chceš mít ty, které mají ve sloupci JMENO hodnotu PRVNI. Aby jsi toho mohl docílit, využiješ tohoto způsobu řazení.
lionel messi
Profil
tiso, ProbablyYes:
Ešte raz vďaka za objasnenie, už som to pochopil.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0