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