如何在单个MySQL查询中使用COUNT()和IF()?
首先,让我们创建一个表 –
mysql> create table DemoTable
(
isValidUser boolean
);
Query OK,0 rows affected(0.70 sec)
使用 insert 命令在表中插入一些记录 –
mysql> insert into DemoTable values(true);
Query OK,1 row affected(0.19 sec)
mysql> insert into DemoTable values(false);
Query OK,1 row affected(0.07 sec)
mysql> insert into DemoTable values(false);
Query OK,1 row affected(0.10 sec)
mysql> insert into DemoTable values(true);
Query OK,1 row affected(0.11 sec)
mysql> insert into DemoTable values(true);
Query OK,1 row affected(0.13 sec)
mysql> insert into DemoTable values(true);
Query OK,1 row affected(0.28 sec)
mysql> insert into DemoTable values(false);
Query OK,1 row affected(0.09 sec)
使用 select 语句显示表中的所有记录 –
mysql> select *from DemoTable;
这将产生以下输出结果 –
+-------------+
| isValidUser |
+-------------+
| 1 |
| 0 |
| 0 |
| 1 |
| 1 |
| 1 |
| 0 |
+-------------+
7 rows in set (0.00 sec)
现在,让我们看看如何在单个MySQL查询中使用COUNT()和IF() –
mysql> select count(if(isValidUser=1,1,NULL)) AS TOTAL_NUMBER_OF_ONE from DemoTable;
这将产生以下输出结果 –
+---------------------+
| TOTAL_NUMBER_OF_ONE |
+---------------------+
| 4 |
+---------------------+
1 row in set (0.06 sec)
阅读更多:MySQL 教程