Middle
SQLде нөлдүү маанилерди кантип иштетип, уникалдуу маанилерди эсептөөдө каталардан качууга болот?
sobes.tech AI
AIден жооп
SQLде уникалдуу маанилерди эсептегенде, NULLдерди туура иштетүү маанилүү, анткени NULL эч кандай мааниге барабар эмес, анын ичинде өзү менен өзү да.
Ката кетирбөө жана туура натыйжа алуу үчүн:
COUNT(DISTINCT колонка)колдонуу — NULL маанилерди эске албайт.- Эгер NULLди өзүнчө уникалдуу маанилердин бири катары эсептегиңиз келсе,
COALESCEаркылуу NULLди атайын мааниге алмаштыра аласыз.
Мисал:
-- NULL эске алынбай уникалдуу маанилердин саны
SELECT COUNT(DISTINCT аталыш_колонка) FROM аталыш_таблица;
-- NULLди өзүнчө маанилер катары эске алып уникалдуу маанилердин саны
SELECT COUNT(DISTINCT COALESCE(аталыш_колонка, 'NULL_АЛТЕРНАТИВА') ) FROM аталыш_таблица;
Анда 'NULL_АЛТЕРНАТИВА' — колонкада кездешпеген ар кандай мааниге ээ болушу мүмкүн, мисалы '__NULL__'. Бул NULLди өзүнчө уникалдуу элемент катары эсептөөгө мүмкүндүк берет.