2014-04-28 17 views
0
SELECT REPLACE(nokp, '-', '') AS kp, nama, COUNT(id) 
FROM participants 
GROUP BY kp 
HAVING COUNT(*) >1 

這是我的sql語句來查找重複的數據。但實際上我想查看該行中有重複nokp的所有數據。 (SELECT *)並查看重複nokp的數據。在sql語句中查看重複數據

編輯.. 我已經完成了我想查看的內容。

SELECT REPLACE(nokp, '-', '') AS kp1, nama, daerah, parlimen, dun, pbt, mukim, alamat, telefon, j_kerja 
FROM participants 
WHERE REPLACE(nokp, '-', '') 
IN (

SELECT REPLACE(nokp, '-', '') AS kp 
FROM participants 
GROUP BY kp 
HAVING COUNT(*) >1 
) 
ORDER BY `kp1` ASC 
+0

您的要求是矛盾的。如果有多個項目具有相同的nokp,那麼每個nokp都有不同的數據,您希望在輸出中看到哪些數據? – Guneli

+0

@Guneli我想查看來自同一個kp的數據。 – user3487681

+0

看來我解釋不好。我們假設你有3行nokp = 1,其中一個nama是1,第二個是2,最後一個是3?你的輸出中應該包含哪個值? – Guneli

回答

1

試試這個:

Select * 
From participants 
Where nokp in 
(
    Select nokp 
    From participants 
    Group by nokp 
    Having count(*) > 1 
) 

這會給你重複值的所有行。

+0

感謝幫助它很多幫助。 – user3487681