`
eeeewwwqq
  • 浏览: 35253 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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

 
阅读更多
count(*) 和 count(1)和count(列名)区别
执行效果上:
count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL
count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL
count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计
执行效率上:
列名为主键,count(列名)会比count(1)快
列名不为主键,count(1)会比count(列名)快
如果表多个列并且没有主键,则 count(1) 的执行效率优于 count(*)
如果有主键,则 select count(主键)的执行效率是最优的
如果表只有一个字段,则 select count(*)最优
分享到:
评论

相关推荐

    为什么阿里巴巴禁止使用 count(列名)或 count(常量)来替代 count(*)1

    介绍完了COUNT(*),接下来看看COUNT(1),对于,这者到底有没有区别,上的说法众说纷纭。有的说 COUNT(*) 执时会转换成 COUNT(1) ,所

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

    执行效果: 1. count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时...所以没必要去count(1),用count(*),sql会帮你完成优化的 因此: count(1)和count(*)基本没有差别!

    Select count(*)、Count(1)和Count(列)的区别及执行方式

    在SQL Server中Count(*)或者Count(1... Count(1)和Count(*)实际上的意思是,评估Count()中的表达式是否为NULL,如果为NULL则不计数,而非NULL则会计数。比如我们看代码1所示,在Count中指定NULL(优化器不允许显式指

    【优化】COUNT(1)、COUNT()、COUNT(常量)、COUNT(主键)、COUNT(ROWID)、COUNT(非空列)等

    BLOG_Oracle_lhr_【优化】COUNT(1)、COUNT()、COUNT(常量)、COUNT(主键)、COUNT(ROWID)、COUNT(非空列)、COUNT(允许为空列)、COUNT(DISTINCT 列名).pdf

    解析关于SQL语句Count的一点细节

    count语句支持*、列名、常量、变量,并且可以用distinct关键字修饰, 并且count(列名)不会累计null的记录。下面随便用一些例子示范一下count的规则:比如对如下表做统计,所有列这里都用sql_variant类型来表示。 代码...

    MySQL面试题经典40问!(全)(含答案解释)

    8、 count(1)、 count(*) 与 count(列名) 的区别? 9、 exist 和 in 的区别? 10、 truncate、 delete 与 drop 区别? 11、 union 与 union all 的区别? 12、 group by 和 distinct 的区别? 13、 Blob 和 text 有...

    python获取Pandas列名的几种方法

    1.链表推倒式 data = pd.read_csv('data/Receipt code January minute trading volume.csv') print([column for column in data]) #打印结果 ['COUNT', 'SUCC', 'FAIL', 'WAIT PAY', 'SUCCRatio', 'time'] 2.通过...

    MySQL经典面试题(含答案).zip

    count(1)、count(*) 与 count(列名) 的区别? exist和in的区别? truncate、delete与drop区别? union与union all的区别? group by 和 distinct 的区别? Blob和text有什么区别? 常见的存储引擎有哪些? myisam和...

    SQL查询数据库中符合条件的记录的总数

    2. select count(列名) from table; //统计一列中值的个数 3. select count(*) from table where 字段 = “”; //符合该条件的记录总数 4. sql_count = “select count(*) from article a where 1=1 “; //这条...

    数据查询:学生管理系统练习

    studentdb数据库还是用的上篇文章的, 害,一直以为列名要用英文,知道可以用汉字时,就把自设的英文都改成汉字,舒服了。上篇文章链接:https://blog.csdn.net/weixin_43912621/article/details/105517325. (1)在...

    T-SQL高级查询

    1、 union和union all进行并集运算 --union 并集、不重复 select id, name from student where name like 'ja%' union select id, name from student where id = 4; --并集、重复 select * from student where ...

    mysql查询语句汇总.docx

    SELECT 列1, 列2 FROM 表名; 设置查询条件: sql SELECT * FROM 表名 WHERE 条件; 排序结果: sql SELECT * FROM 表名 ORDER BY 列名 [ASC|DESC]; 二、聚合函数 聚合函数用于对一组值执行计算,并返回单个值...

    Mysql 聚合函数嵌套使用操作

    补充知识:mysql中MAX()函数和count()函数的技巧使用 1.max()函数 在考虑提高数据库io的情况下,可以创建索引 ===>create index 索引名称 on 表名(列名); 2.count()函数 问题:count(*)与count(某列)

    sqlserver自定义函数

    having count(*)>1 order by count desc ---删除重复的数据:2行 delete from w01 where id not in (select max(id) from w01 group by gs903,gs1002) ---看看删除后还有没有重复记录:0 select gs903,gs1002,...

    《〈Java开发手册(泰山版)〉灵魂13问》.zip

    为什么阿里巴巴建议初始化HashMap的容量大小?15 Java开发手册建议创建HashMap时设置初始化容量,但是多少合适呢?27 为什么阿里巴巴禁止使用...为什么阿里巴巴禁止使用count(列名)或count(常量)来替代count(*) ?111

    java万能DAO

    //得到所有列和方法匹配的项 List<PropertyMthod> mList = new ArrayList(); for(String columnName : columnNameArray){ Method m = this.getMethod(cla,columnName); if(m!=null){ PropertyMthod pm = new ...

    Mysql使用insert插入多条记录 批量新增数据

    ERROR 1136: Column count doesn't match value count at row 1 而正确的写法应该是这样: INSERT INTO t able1(i,name) VALUES(1,'小明'),(2,'小强'),(3,'小杜'),(4,'小李'),(5,'小白'); 当然,这种写法也可以省略...

    面试灵魂13问.zip

    《新版 Java 开发手册》提到的三目运算符的空指针问题到底是个怎么回事? 4 为什么阿里巴巴建议初始化 HashMap 的容量大小?...为什么阿里巴巴禁止使用 count( 列名 ) 或 count( 常量 ) 来替代 count(*) ? 111

    SQL常用语句.zip

    基本语法为“SELECT 列名 FROM 表名 WHERE 条件”。例如,查询名为“employees”的表中所有员工的姓名和年龄,可以使用“SELECT name, age FROM employees”。 ORDER BY语句:用于对查询结果进行排序。例如,按年龄...

    SQL编写规范(数据库操作规范)

     select count(*) from tab1,tab2 执行时间0.96秒    选择TAB2作为基础表 (不佳的方法)    select count(*) from tab2,tab1 执行时间26.09秒    如果有3个以上的表连接查询,那就需要选择交叉表...

Global site tag (gtag.js) - Google Analytics