Проблем:
Искате да преброите колко различни стойности, различни от 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) стойности.