2016-03-28 2 views
1

Я создал табличное представление, которое не дает. студентов в каждой школе.Почему Nulls автоматически пропускаются в таблице

Мой входной набор данных ниже. Умышленно я сохранил null student_name.

Как вы можете видеть, третий ряд и четвёртую строки возникают неопределенные имена

student_name school 

    Stev Boston Academy 
    Mike Florida school 
     Boston Academy 
     Boston Academy 
    Sue Florida school 
    Jim Florida school 

Но здесь Нуль- автоматически пропускаются.

Даже если я применяю быстрый фильтр для включения нулей, то также пропускаются значения null.

Как вы можете видеть, в Академии Бостона есть 2 нулевых имени. Я ожидаю, что в Академии Бостона будет 3.

Ниже показан вид

enter image description here

Я хотел бы знать, как ведет себя таблица, если у нас есть нуль для student_name.

Пропущено ли оно? Пропускает ли он значение null, даже если мы применяем фильтр для включения null?

ответ

1

Count() по определению игнорирует нули, как и другие функции агрегации. Точнее, CNT ([имя студента]) возвращает количество записей с ненулевым значением для поля [имя студента]).

Это стандартное поведение базы данных.

Если вы хотите подсчитать количество строк данных в школе, независимо от того, имеет ли [имя студента] значение, то вы можете использовать CNT (1) (может быть любое ненулевое постоянное значение) или возможно, несколько менее эффективно SUM (1) или эквивалентно SUM ([Число записей])