2017-10-05 1 views
0

의 모든 행을 선택합니다. 그러나 이것은 나에게 단지 이름을 준다.MySQL은 : 나는 특정 쿼리</p> <pre><code>select distinct name from tablename </code></pre> <p>중복 제거를 수행하고자하는 선택 별개의

select * 
from tablename 
where value = 1 
:

select * 
from tablename 
where value = 1 and exists (select distinct name 
          from tablename) 

불행하게도이 같은 데이터를 반환

select * 
from tablename 
where value= 1 

나는이 시도 : '테이블에서 고유 한 이름을 선택'에서 나는 모든 열 조건 하나를 반환 싶습니다

내 쿼리에 근본적인 결함이 있음을 의미합니다.

누군가 내 쿼리를 도와 줄 수 있습니까? 미리 감사드립니다. 당신이 사람을 알고 싶은 경우

having count(id)=1 

를 넣을 수 있습니다

select distinct id 
from table1 
group by id 
having count(id)>1 

과 :

+0

일부 샘플 테이블 데이터와 예상되는 결과를 추가하십시오. 서식있는 텍스트로주세요. (이미지가 아닙니다.) – jarlh

+0

'그룹 기준'을 사용해 보셨습니까? 집계가 필요합니까? –

답변

0

당신이 select field1, field2, field3 from tablename group by field2

+0

중복을 제거하지 않습니다. 그래서 그것은 나를 위해 작동하지 않습니다. "이름"열이 중복 된 모든 행을 제거해야합니다. –

+0

참조 용으로 원하는 것을 보여주는 샘플 데이터 세트를 제공 할 수 있습니까? –

0

이 쿼리는 당신에게 당신이 중복이있는 ID를 줄 것이다 시도 할 수 중복 된 데이터가 없습니다

+0

모든 열을 반환하지는 않습니다. 그래서 그것은 나를 위해 작동하지 않습니다. "이름"열이 중복 된 모든 행을 제거해야합니다. –

관련 문제