MySQL sort NULL columns, řazení NULL sloupců, order NULL last

Potřebujete řadit řádky podle nějakého sloupce, kde se vyskytují NULL hodnoty? NULL hodnota v tomto případě znamená, že řádek je pro účely toho řazení nepodstatný, proto ho potřebujeme řadit až nakonec.


Představte si, že řadíte podle čísla pořadí položky ve výpisu. Pak vytvoříte nějaký sloupec a jemu přiřazujete čísla od 1 do X. Do seznamu však přibývají nové položky, které nemají své místo a tak budou mít hodnotu NULL.

Např.

Franta 1
Pepík 2
Alois 3
Bedřich NULL
Jitka NULL

Pokud použijete tento SQL dotaz v MySQL:

  1. SELECT * FROM employees ORDER BY roworder;

Výsledek je tento:

Bedřich NULL
Jitka NULL
Franta 1
Pepík 2
Alois 3

Používám na tento problém jednoduchý trik, jak to řešíte vy?

  1. SELECT * FROM employees ORDER BY ISNULL(roworder), roworder ASC;