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.