count,distinct和group by对null值的操作

distinct 会将所有null视为一项
group by 将所有null值视为一项
count 不会计算null值项,count(null)=0

select count() from (select count() as num from library_books group by stayLibraryHallCode) temp;
输出结果是3229
select COUNT(DISTINCT stayLibraryHallCode) from library_books;
输出结果是3228

原因就是COUNT(DISTINCT stayLibraryHallCode)中有null值项+0,count(*)中null值项+1,所以结果肯定少1


版权声明:本文为u011649691原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。