SQL如何打印表中重复的行

SQL如何打印表中重复的行

让我们考虑下表.

Name Section
abc CS1
bcd CS2
abc CS1

在上表中,我们可以使用以下查询找到重复的行。

SELECT name, section FROM tbl
GROUP BY name, section
HAVING COUNT(*) > 1

另外一个示例:

给定一个名为PERSON的表,任务是编写一个SQL查询以查找表中所有重复的名称。
示例 :

+----+---------+
| Id | NAME    |
+----+---------+
| 1  | Geeks   |
| 2  | for     |
| 3  | Geeks   |
+----+---------+

Output :
+---------+
| NAME    |
+---------+
| Geeks   |
+---------+

The 简单的方法 是创建一个临时表,该表具有表中所有名称的计数。

重复的名称存在不止一次,因此要计算每个名称存在的时间,我们可以使用以下代码:

select NAME, count(NAME) as num
from Person
group by NAME;
| NAME    | num |
|---------|-----|
| Geeks   | 2   |
| for     | 1   |

这是一个临时表,我们可以在其上运行以下代码以获取重复名称。

select NAME from
(
  select NAME, count(NAME) as num
  from Person
  group by NAME
) as statistic
where num > 1;

最好的方法 是使用 GROUP BYHAVING 条件。它比以前更有效、更快。

MySql :

select NAME
from Person
group by NAME
having count(NAME) > 1;

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

SQL 实例