Problem:
Chcesz policzyć, ile różnych wartości innych niż NULL znajduje się w danej kolumnie.
Przykład:
Nasza baza danych zawiera tabelę o nazwie customer
z danymi w następujących kolumnach:id
, first_name
, last_name
i city
.
id | imię | nazwisko | miasto |
---|---|---|---|
1 | Jan | Williams | Chicago |
2 | Tomek | Brązowy | Austin |
3 | Lucy | Młynarz | Chicago |
4 | Elia | Kowalski | Dalle |
5 | Brian | Jones | Austin |
6 | Alan | Davis | NULL |
Znajdźmy liczbę różnych (i innych niż NULL
) miasta.
Rozwiązanie:
SELECT COUNT( DISTINCT city) as cities FROM customer;
To zapytanie zwraca liczbę miast, w których mieszkają klienci:
miasta |
---|
3 |
Dyskusja:
Aby policzyć liczbę różnych wartości przechowywanych w danej kolumnie, wystarczy wskazać kolumnę, którą przekazujesz do COUNT
funkcjonować jako DISTINCT
. Po otrzymaniu kolumny COUNT
zwraca liczbę wartości w tej kolumnie. Łącząc to z DISTINCT
zwraca tylko liczbę unikalnych (i innych niż NULL) wartości.