如何在 SQL 表中打印重复行


假设我们在数据库中创建了一个表,并且该表包含重复记录,或者您需要检查数据库中是否存在同一记录的多个条目。为了查找此类重复记录,您可以使用以下示例查询。

在 SQL 表中打印重复行

让我们假设我们有一个名为 Students 的表,其列为 ID、Name、Age。使用以下查询:

CREATE TABLE Students(
   ID   INT NOT NULL,
   NAME VARCHAR (20) NOT NULL,
   AGE  INT NOT NULL
);

让我们向此表中插入记录:

INSERT INTO Students VALUES
(1, 'Gaurav', 23), 
(2, 'Yuvraj', 22),
(1, 'Gaurav', 23),  
(3, 'Jaydeep', 24);

该表将如下所示:

ID 姓名 年龄
1 Gaurav 23
2 Yuvraj 22
1 Gaurav 23
3 Jaydeep 24

以下查询用于查找重复记录。它返回表中的所有列,这些列按各自的列名进行分组或比较。这里我们使用HAVING子句来查找重复记录的数量是否大于1

SELECT * FROM Students
GROUP BY ID, Name, Age 
HAVING COUNT(*) > 1;

输出

以下是上述查询的输出:

ID 姓名 年龄
1 Gaurav 23

检索特定列

在下面的查询中,我们将只返回表中包含重复记录的特定列:

SELECT Name FROM Students
GROUP BY Name
HAVING COUNT(Name) > 1;

以下是上述查询的输出:

姓名
Gaurav

现在,让我们尝试获取列名以及其中重复记录的数量:

SELECT Name, COUNT(*) 
FROM Students
GROUP BY Name
HAVING COUNT(*) > 1;

上述查询的输出将是:

姓名 COUNT (*)
Gaurav 2

更新于:2024年9月25日

26 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告