Database
 sql >> база данни >  >> RDS >> Database

Как да преброите различни стойности в SQL

Проблем:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Непредвидени странични ефекти – сесии за сън, задържащи ключалки

  2. Минимизиране на въздействието от разширяване на колона IDENTITY – част 4

  3. Няма форма на кеширане на база данни за намаляване на дублиращите се заявки за база данни.

  4. Как CTE може да помогне при писане на сложни, мощни заявки:Перспектива за производителност

  5. Разширени събития за SSAS