count(1)、count(*) 与 count(列名) 的区别
时间: 2023-09-05 09:11:19 浏览: 88
count(1)、count(*)与count(列名)的执行区别详解
count(*)表示统计表中所有行的数量,包括空值和重复值。
count(列名)表示统计该列中非空值的数量,不包括重复值。
count(distinct 列名)表示统计该列中不同的非空值的数量,不包括重复值。
例如,有一张学生表,其中有一个“性别”列,包含“男”、“女”、“未知”三种取值。使用count(*)可以统计表中所有学生的数量;使用count(性别)可以统计性别列中非空值的数量,即男女学生的数量;使用count(distinct 性别)可以统计性别列中不同的非空值的数量,即男女两种性别的数量。
阅读全文