如何在 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 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告