MySQL中count(*)和count(columnName)之间的区别?
无论列是否包含空值,count(*)返回所有行,而count(columnName)返回除空行之外的行数。
让我们首先创建一个表。
以下是查询
mysql> create table ifNotNullDemo -> ( -> Name varchar(20) -> );
以下是使用insert命令在表中插入一些记录的查询:
mysql> insert into ifNotNullDemo values('Chris');
mysql> insert into ifNotNullDemo values('');
mysql> insert into ifNotNullDemo values('Robert');
mysql> insert into ifNotNullDemo values(null);
mysql> insert into ifNotNullDemo values(0);以下是使用select语句显示表中所有记录的查询:
mysql> select *from ifNotNullDemo;
这将产生以下输出
+--------+ | Name | +--------+ | Chris | | | | Robert | | NULL | | 0 | +--------+ 5 rows in set (0.00 sec)
情况1:以下是count(*)的演示,其中的count也包含null:
mysql> select count(*) from ifNotNullDemo;
这将产生以下输出
+----------+ | count(*) | +----------+ | 5 | +----------+ 1 row in set (0.02 sec)
情况2:以下是对count(columnName)的查询。
mysql> select count(Name) from ifNotNullDemo;
这将产生以下输出
+-------------+ | count(Name) | +-------------+ | 4 | +-------------+ 1 row in set (0.00 sec)
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短