利用 MySQL 查询获取列中不同记录的计数


要获取不同记录的计数,请使用 DISTINCT 连同 COUNT()。以下是语法 −

select count(DISTINCT yourColumnName) from yourTableName;

让我们首先创建一个表 −

mysql> create table DemoTable
-> (
-> Name varchar(20),
-> Score int
-> );
Query OK, 0 rows affected (0.67 sec)

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

mysql> insert into DemoTable values('John',56);
Query OK, 1 row affected (0.18 sec)

mysql> insert into DemoTable values('Sam',89);
Query OK, 1 row affected (0.20 sec)

mysql> insert into DemoTable values('John',56);
Query OK, 1 row affected (0.17 sec)

mysql> insert into DemoTable values('Carol',60);
Query OK, 1 row affected (0.20 sec)

mysql> insert into DemoTable values('Sam',89);
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable values('Carol',60);
Query OK, 1 row affected (0.20 sec)

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

mysql> select *from DemoTable

输出

这将产生以下输出 −

+-------+-------+
| Name  | Score |
+-------+-------+
| John  | 56    |
| Sam   | 89    |
| John  | 56    |
| Carol | 60    |
| Sam   | 89    |
| Carol | 60    |
+-------+-------+
6 rows in set (0.00 sec)

以下是获取列中不同记录计数的查询 −

mysql> select count(DISTINCT Score) from DemoTable;

输出

这将产生以下输出 −

+-----------------------+
| count(DISTINCT Score) |
+-----------------------+
| 3                     |
+-----------------------+
1 row in set (0.00 sec)

更新于: 30-06-2020

252 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始
广告