开发者社区> 问答> 正文

count(*)和count(column_name),区别是什么??mysql

count(*)和count(column_name),区别是什么?

展开
收起
保持可爱mmm 2020-05-17 12:42:25 549 0
1 条回答
写回答
取消 提交回答
  • COUNT() 计算结果集中的所有行(如果使用GROUP BY,则为组)。 COUNT(column_name)只计算column_name不为空的那些行。即使没有NULL值,在某些情况下这也会变慢,因为必须检查该值(除非该列不可为空)。 COUNT(1)与COUNT()1 相同,因为1永远不能为NULL。 要查看结果的差异,您可以尝试以下小实验:

    CREATE TABLE table1 (x INT NULL); INSERT INTO table1 (x) VALUES (1), (2), (NULL); SELECT COUNT(*) AS a, COUNT(x) AS b, COUNT(1) AS c FROM table1; 结果:

    abc 3 2 3来源:stack overflow

    2020-05-17 12:53:50
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像