如何在 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 |
广告