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

이것은 내 SQL 문을 중복 데이터를 찾을 수 있습니다. 하지만 실제로는 중복 된 nokp가있는 해당 행의 모든 ​​데이터를보고 싶습니다. (선택 *) 및 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

잘 설명 할 수없는 것 같습니다. nokp = 1 인 행이 3 개 있다고 가정 해 봅시다. 그 중 하나는 nama가 1이고, 두 번째가 2이고, 마지막 행이 3 인 경우를 가정 해 봅시다. 어느 나마 값이 출력에 있어야합니까? – Guneli

답변

1

이 시도 :이 중복 값을 당신에게 모든 행을 줄 것이다

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

.

+0

많은 도움을 주셔서 감사합니다. – user3487681