MySQL 如何使用单个MySQL查询计算列值并忽略NULL
为此,您可以使用不包括NULL值的COUNT()方法。首先,让我们创建一个表 –
mysql> create table DemoTable
-> (
-> Name varchar(100),
-> CountryName varchar(100)
-> );
Query OK, 0 rows affected (0.49 sec)
使用insert命令在表中插入一些记录 –
mysql> insert into DemoTable values('John',null);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('Chris','US');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('Robert',null);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('Bob','UK');
Query OK, 1 row affected (0.57 sec)
使用select语句显示表中的所有记录 –
mysql> select *from DemoTable;
阅读更多:MySQL 教程
输出
这将产生以下输出结果 –
+--------+-------------+
| Name | CountryName |
+--------+-------------+
| John | NULL |
| Chris | US |
| Robert | NULL |
| Bob | UK |
+--------+-------------+
4 rows in set (0.00 sec)
这是使用COUNT()和忽略NULL的查询 –
mysql> select count(Name) AS TotalName,count(CountryName) AS CountryWhichIsNotNull from DemoTable;
输出
这将产生以下输出结果 –
+-----------+-----------------------+
| TotalName | CountryWhichIsNotNull |
+-----------+-----------------------+
| 4 | 2 |
+-----------+-----------------------+
1 row in set (0.00 sec)
极客教程