MySQL 如何使用MySQL查找重复行并在单独的列中显示它们的计数
为此,使用GROUP BY HAVING子句。让我们首先创建一个表 –
mysql> create table DemoTable(
Name varchar(100),
Age int
);
Query OK, 0 rows affected (1.50 sec)
使用插入命令将一些记录插入表中 –
mysql> insert into DemoTable values('Chris',23);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('David',21);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('Chris',23);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('Chris',21);
Query OK, 1 row affected (0.27 sec)
mysql> insert into DemoTable values('Mike',25);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('David',21);
Query OK, 1 row affected (0.10 sec)
使用select语句显示表中的所有记录 –
mysql> select *from DemoTable;
这将产生以下输出 –
+-------+------+
| Name | Age |
+-------+------+
| Chris | 23 |
| David | 21 |
| Chris | 23 |
| Chris | 21 |
| Mike | 25 |
| David | 21 |
+-------+------+
6 rows in set (0.00 sec)
以下是查找重复行并在单独的列中显示计数的查询语句 –
mysql> select Name,Age,count(*) AS Repeated from DemoTable
group by Name,Age
having Repeated > 1;
这将产生以下输出 –
+-------+------+----------+
| Name | Age | Repeated |
+-------+------+----------+
| Chris | 23 | 2 |
| David | 21 | 2 |
+-------+------+----------+
2 rows in set (0.00 sec)
阅读更多:MySQL 教程
极客教程