2 个回答

以下sql可以看到你的sql会被mysql转译成怎样

EXPLAIN EXTENDED
SELECT count(*) FROM `table`;
SHOW WARNINGS;

我的版本是mysql 5.6.26,以下是转译后的结果:

/* select#1 */ select count(0) AS `count(*)` from `test`.`table`

所以,在我看来,较新版本的mysql已经没这方面的区别了,不过习惯上我还是使用count(1)。

在数据记录都不为空的时候查询出来结果上没有差别的. 但当COUNT(1)查询的那列有空的时候空的是要被去掉的不记入统计中.这样查询出来的结果是不一样的.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题