计算MySQL中不同值的数量?

让我们首先创建一个表-

mysql> create table DemoTable
   -> (
   -> Name varchar(100),
   -> Code varchar(100)
   -> );

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

mysql> insert into DemoTable values('Chris','0001');

mysql> insert into DemoTable values('Robert','0002');

mysql> insert into DemoTable values('Robert','0003');

mysql> insert into DemoTable values('Chris','0001');

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

mysql> select *from DemoTable;

输出结果

+--------+------+
| Name   | Code |
+--------+------+
| Chris  | 0001 |
| Robert | 0002 |
| Robert | 0003 |
| Chris  | 0001 |
+--------+------+
4 rows in set (0.00 sec)

以下是查询以计算不同值的数量-

mysql> select Name,count(distinct Code) from DemoTable group by Name;

输出结果

+--------+----------------------+
| Name   | count(distinct Code) |
+--------+----------------------+
| Chris  |     1                |
| Robert |     2                |
+--------+----------------------+
2 rows in set (0.06 sec)