如何在 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 |
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP