Middle
Jak v SQLu zacházet s nulovými hodnotami a jak se vyhnout chybám při počítání unikátních hodnot?
sobes.tech AI
Odpověď od AI
V SQL při počítání unikátních hodnot je důležité správně zacházet s NULL, protože NULL není rovno žádné hodnotě, včetně sebe sama.
Abychom se vyhnuli chybám a získali správný výsledek:
- Použijte
COUNT(DISTINCT sloupec)— ignoruje hodnoty NULL. - Pokud chcete brát NULL jako samostatnou unikátní hodnotu, můžete NULL nahradit speciální hodnotou pomocí
COALESCE.
Příklad:
-- Počet unikátních hodnot bez zohlednění NULL
SELECT COUNT(DISTINCT název_sloupce) FROM název_tabulky;
-- Počet unikátních hodnot s zohledněním NULL jako samostatné hodnoty
SELECT COUNT(DISTINCT COALESCE(název_sloupce, 'NÁHRADA_NULL')) FROM název_tabulky;
Kde 'NÁHRADA_NULL' je jakákoli hodnota, která se v sloupci nevyskytuje, například '__NULL__'. To umožňuje počítat NULL jako samostatný unikátní prvek.