2011-12-19 156 views
0

我有一個在DB其中包括我的SQL查詢僅檢索重複記錄

ID, 實體名稱, 創建時間,修改 時間的名爲「實體」表。

我想只檢索具有重複條目的記錄,如有兩個名稱爲Arthur的實體,那麼我只需要那兩條記錄。 我無法構造查詢,因爲比較實體名稱和實體名稱會將所有記錄返回給我。

回答

1
SELECT * 
FROM entity 
WHERE entityname IN 
(SELECT entityname 
FROM entity 
GROUP BY entityname 
HAVING COUNT(*) > 1) 
+0

@Sangram:我的查詢顯示所有重複記錄..(不只是名稱和計數) – naresh 2011-12-19 08:48:36

+0

我的sql查詢瀏覽器掛起,m inute我執行這個查詢... – 2011-12-19 10:14:22

+0

您的實體表中有多少條記錄?你放了嗎?最後? – naresh 2011-12-19 10:25:14

0

這將選擇所有的entityName和總記錄

Select entityName, count(*) as RecordCount 
from entity 
group by entityName 

其中唯一的entityName的RecordCount = 1

然後與重複選擇所有記錄:

Select entityName, count(*) as RecordCount 
from entity 
group by entityName 
having count(*) > 1 
+0

thanx爲查詢人,但它顯示entityName和它的計數,我們可以構造查詢,使它甚至顯示重複的記錄。就像名字Arthur有4個實體,但他們的id不同,查詢也可以返回所有四個實體。 – 2011-12-19 07:48:25