gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-29 00:10:41 26 4
gpt4 key购买 nike

count(*)count(column_name),mysql有什么区别。

最佳答案

  • COUNT(*) 对结果集中的所有行进行计数(如果使用 GROUP BY,则进行分组)。
  • COUNT(column_name) 只计算 column_name 为 NOT NULL 的那些行。在某些情况下,即使没有 NULL 值,这也可能会更慢,因为必须检查该值(除非该列不可为空)。
  • COUNT(1)COUNT(*) 相同,因为 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;

结果:

a   b   c3   2   3

关于mysql - count(*) 和 count(column_name),有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2876909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com