SQL中count()的几种区别

文章目录

            • 1.count(列名):
            • 2.count(*)和Count(1)
            • 3.性能对比:
            • 4.案例:

1.count(列名):
  • 计数不为空的列。依次取出某列值,判断是否为null 若不为空 ,则计数
2.count(*)和Count(1)
  • 对行的数目进行计算,包含NULL。count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL
    count(1)包括了忽略所有列,相当于于在表后面新增1这一列,在统计结果的时候,不会忽略列值为NULL
3.性能对比:
  • count(*)&count(1)&count(列名)执行效率比较:
    • 如果表中存在主键,count(主键列名)效率最优
    • 如果表有多列,且不存在主键,则count(1)效率优于count(*)
4.案例:

(1)select count(*) from table where is_active is null;
(2)select count(1) from table where is_active is null;

你可能感兴趣的:(Hive)