开发者社区> 问答> 正文

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

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

展开
收起
保持可爱mmm 2020-05-17 12:42:25 544 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
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像