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 като отделен уникален елемент.