SQL - SELECT ORDER BY - ruční definice řazení
Dobrý den,
mám ještě dotaz k tomu, zda jde ručně nadefinovat pořadí seřazování ORDER BY hodnot z SQL SELECTu. Jde mi např. o to, že ve sloupci budou hodnoty "nic", "před", "po" a já je chci řadit tak, aby se položky řadily dle definice "před", "po" a "nic". Doufám, že jsem to vysvětlil srozumitelně.
Dobrý den,
nadefinovat vlastní pořadí řazení SQL výsledků lze pomocí ORDER BY CASE WHEN takto:
mám ještě dotaz k tomu, zda jde ručně nadefinovat pořadí seřazování ORDER BY hodnot z SQL SELECTu. Jde mi např. o to, že ve sloupci budou hodnoty "nic", "před", "po" a já je chci řadit tak, aby se položky řadily dle definice "před", "po" a "nic". Doufám, že jsem to vysvětlil srozumitelně.
ODPOVĚĎ
Dobrý den,
nadefinovat vlastní pořadí řazení SQL výsledků lze pomocí ORDER BY CASE WHEN takto:
SELECT * FROM tabulka
ORDER BY CASE
WHEN postup = 'Před' THEN 0
WHEN postup = 'Po' THEN 1
WHEN postup = '' THEN 2
END