Проблем:
Искате да преброите колко различни стойности, различни от NULL, има в дадена колона.
Пример:
Нашата база данни има таблица с име customer с данни в следните колони:id , first_name , last_name и city .
| id | first_name | фамилно_име | град |
|---|---|---|---|
| 1 | Джон | Уилямс | Чикаго |
| 2 | Том | Кафяв | Остин |
| 3 | Луси | Милър | Чикаго |
| 4 | Ели | Смит | Далас |
| 5 | Брайън | Джоунс | Остин |
| 6 | Алан | Дейвис | NULL |
Нека намерим броя на различните (и не-NULL ) градове.
Решение:
SELECT COUNT( DISTINCT city) as cities FROM customer;
Тази заявка връща броя на градовете, в които живеят клиентите:
| градове |
|---|
| 3 |
Дискусия:
За да преброите броя на различните стойности, които се съхраняват в дадена колона, просто трябва да посочите колоната, която предавате в COUNT функционира като DISTINCT . Когато е дадена колона, COUNT връща броя на стойностите в тази колона. Комбинирайки това с DISTINCT връща само броя на уникалните (и не-NULL) стойности.