MySQL查询来计数两列中的所有列值,并在总数中排除NULL值?

让我们首先创建一个表-

mysql> create table DemoTable1975
   (
   StudentName varchar(20),
   StudentMarks int
   );

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable1975 values('John',45);
mysql> insert into DemoTable1975 values('Chris',67);
mysql> insert into DemoTable1975 values('David',59);
mysql> insert into DemoTable1975 values('Bob',NULL);

使用select语句显示表中的所有记录-

mysql> select * from DemoTable1975;

这将产生以下输出-

+-------------+--------------+
| StudentName | StudentMarks |
+-------------+--------------+
| John        |           45 |
| Chris       |           67 |
| David       |           59 |
| Bob         |         NULL |
+-------------+--------------+
4 rows in set (0.00 sec)

这是查询以计算所有列值-

mysql> select count(StudentName)+count(StudentMarks) from DemoTable1975;

这将产生以下输出-

+----------------------------------------+
| count(StudentName)+count(StudentMarks) |
+----------------------------------------+
|                                      7 |
+----------------------------------------+
1 row in set (0.00 sec)