Sobes.tech
Middle

Как да обработим нулевите стойности в SQL и да избегнем грешки при броенето на уникални стойности?

sobes.tech AI

Отговор от AI

В SQL при броене на уникални стойности е важно правилно да се обработват NULL, тъй като NULL не е равен на никаква стойност, включително и на себе си.

За да избегнете грешки и да получите коректен резултат:

  • Използвайте COUNT(DISTINCT колона) — игнорира NULL стойностите.
  • Ако искате да третирате NULL като отделна уникална стойност, можете да замените NULL с специална стойност с помощта на COALESCE.

Пример:

-- Броене на уникални стойности без да се вземат предвид NULL
SELECT COUNT(DISTINCT име_на_колона) FROM име_на_таблица;

-- Броене на уникални стойности с вземане предвид на NULL като отделна стойност
SELECT COUNT(DISTINCT COALESCE(име_на_колона, 'ЗАМЕСТВАНЕ_NULL')) FROM име_на_таблица;

Където 'ЗАМЕСТВАНЕ_NULL' е всяка стойност, която не се среща в колоната, например '__NULL__'. Това позволява да се брои NULL като отделен уникален елемент.