• count(1)、count(*)与count(列名)的执行区别


    原文链接

    COUNT() 函数返回匹配指定条件的行数。

    COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):不包含值为NULL的记录

    COUNT(*) 函数返回表中的记录数

    COUNT(DISTINCT column_name) 函数返回指定列不同值的数目

    SUM()函数,是针对表tab中,任意符合可加减的字段,进行加和。
    
    select COUNT(CARRIER_NAME),sum(STEP_STATUS) from ACC_eLogistics..CARRIER_INFO
    
    这个就可以求出来,这个CARRIER_NAME,一共有多少条记录,在这记录中STEP_STATUS的和一共是多少
    (无列名) (无列名)
     354        595
    大多数在使用count的时候,是搭配group by 一起来使用的,
    因为,count只是返回给你数量,要是仅仅是返回select count(*)/count(字段) 就可以执行成功的。

    但是要是这样select:
    select count(*) ,OrderSn  from tabA,那你就是想知道OrderSn在TabA中有多少条记录,
    但是OrderSn可能是一或者多个吧,为了区分开每一个OrderSn到底有多少个,那就是用Group by 进行区分

    select COUNT(CONTACT_INFO) as CONTACT,ENABLED from CARRIER group by ENABLED

    CONTACT ENABLED
     178     0
     74      1

    这样就可以看出来,在CARRIER这个表中,ENABLED有两种情况,数量分别是178/74,这就是日常count和Group by 搭配的原因,指明具体的字段的不同值之间的数量



    ----------------------------------------------------------------------------------------------------------------------------------------

    count(*) 和 count(1)和count(列名)区别 

    做了下select ,是统计有多少条记录:

    select count(1) from A
    select count(*) from A
    select count(CreateTime) from A

    返回的都是A表中有多少条记录。

    2. count(1) and count(字段)
    两者的主要区别是
    (1) count(1) 会统计表中的所有的记录数,包含字段为null 的记录
    (2) count(字段) 会统计该字段在表中出现的次数,忽略字段为null 的情况。即不统计字段为null 的记录。 
    转自:http://www.cnblogs.com/Dhouse/p/6734837.html

    执行效率上:  
    列名为主键,count(列名)会比count(1)快  
    列名不为主键,count(1)会比count(列名)快  
    如果表多个列并且没有主键,则 count(1) 的执行效率优于 count(*)  
    如果有主键,则 select count(主键)的执行效率是最优的  
    如果表只有一个字段,则 select count(*)最优。
    转自:http://eeeewwwqq.iteye.com/blog/1972576
    =======================================================================================================

  • 相关阅读:
    [OpenJudge] 反正切函数的应用 (枚举)(数学)
    [OpenJudge] 摘花生 (模拟)
    [OpenJudge] 宇航员(模拟)
    [OpenJudge] 显示器(模拟)
    背包问题
    BFS_最短路径
    链表
    网站
    网站
    洛谷_递归整理
  • 原文地址:https://www.cnblogs.com/ZkbFighting/p/11637493.html
Copyright © 2020-2023  润新知