在 MySQL 中,COUNT(1) 和 COUNT(*) 都用于计算满足条件的记录数量,但有一些微小的区别。
- COUNT(1) 会对每一条满足条件的记录都进行计数,而 COUNT(*) 则是计算整个结果集的记录数量。实际上,对于大部分数据库系统来说,这两种写法在执行效率上没有显著的差异。
- COUNT() 会返回包括 NULL 值的记录数量,而 COUNT(1) 则会忽略 NULL 值。这是因为 COUNT() 是计算整个记录,而 COUNT(1) 只是简单地判断是否存在记录即可。 总结来说,COUNT(1) 和 COUNT() 的执行效果几乎相同。在实际使用中,可以根据个人习惯或项目要求选择使用其中一种。如果需要包括 NULL 值,可以使用 COUNT();如果希望忽略 NULL 值,可以使用 COUNT(1)。