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