0
点赞
收藏
分享

微信扫一扫

mysql中count是否统计null

Ewall_熊猫 2024-04-22 阅读 5

在MySQL中,COUNT() 函数用于统计表中的行数。但是,它的行为会根据你所使用的具体 COUNT() 函数的变种而有所不同。

  1. COUNT(*):这会统计表中的所有行数,无论列中的值是否为NULL。
SELECT COUNT(*) FROM your_table;

上述查询会返回 your_table 表中的总行数,包括那些列中包含NULL值的行。 2. COUNT(column_name):这会统计在指定列中非NULL的行数。

SELECT COUNT(your_column) FROM your_table;

上述查询会返回 your_table 表中 your_column 列非NULL值的行数。

举例

假设你有一个名为 students 的表,其中有一个名为 name 的列。

CREATE TABLE students (
    id INT PRIMARY KEY,
    name VARCHAR(50)
);

INSERT INTO students (id, name) VALUES (1, 'Alice');
INSERT INTO students (id, name) VALUES (2, NULL);
INSERT INTO students (id, name) VALUES (3, 'Bob');

现在,如果你执行以下查询:

SELECT COUNT(*) FROM students;  -- 结果为 3

它会返回3,因为表中有三行。

但是,如果你执行以下查询:

SELECT COUNT(name) FROM students;  -- 结果为 2

它会返回2,因为 name 列中只有两行是非NULL的。

总之,COUNT(*) 会统计所有行,而 COUNT(column_name) 只会统计该列中非NULL的行。

举报

相关推荐

0 条评论