count(1),count(*)与count(列名)到底有什么区别?

  • 认识count()函数
    首先这个是一个聚合函数,作用是返回一个表中的行数,
    查看一个表中的数据,
    count(1),count(*)与count(列名)到底有什么区别?_第1张图片
    先进行count(*)查询一下
    count(1),count(*)与count(列名)到底有什么区别?_第2张图片
    再进行count(1)进行查询
    count(1),count(*)与count(列名)到底有什么区别?_第3张图片

测试count(列名),作用就是统计这个列的个数,
count(1),count(*)与count(列名)到底有什么区别?_第4张图片
测试count(distinct 列名) 我设置了一个重复数据,结果就是过滤掉了重复的数据个数,
count(1),count(*)与count(列名)到底有什么区别?_第5张图片

  • count(1)and count( 星号 )
    效果上看count(1)和count( * )输出的结果是一样的,查询效率上也没有太大的差距,

  • count(1) and count(column)区别
    count(1)会统计表中所有的数据,包含了null值,
    count(column)是会统计表中出现该字段的行数,不包含null值,

  • count(1) ,count() and count(column)的区别
    count(
    ) 是包含了所有列,计算统计出行数,不会忽视null值,(其实思考一下,会忽视的话是不是就无法统计出行数了)
    count(1) 包含了不是1的所有列,统计行数时不会忽视null值,
    count(column) 只包含了指定列名,在统计行数时会忽视null值,

你可能感兴趣的:(苦练基本功)