2012-12-07 2 views
1

첫 번째 열이 일치하지 않는 행을 선택해야합니다. 예를 들어, 아래 데이터에서.다른 행과 일치하는 첫 번째 열이없는 행 선택

Person   | Room 
--------------------------------------- 
ben    | 1 
jake    | 3 
jake    | 1 
steven   | 2 
james    | 1 
james    | 2 
james    | 3 

쿼리는 이러한 행을 반환 :

Person   | Room 
--------------------------------------- 
ben    | 1 
jake    | 3 
steven   | 2 
james    | 1 

그것은 어떤 값을 방 열 반환 문제가되지 않습니다. 그리고 더 많은 방의 번호와 다른 이름으로 작업 할 수 있어야합니다.

나는 답을 찾고있는 모양이 없었고 어떻게해야 할지를 알 수 없었지만, 현재의 사고 방식이 될 수 있으며 실제로 그렇게하기 쉽습니다.

SELECT Person, Room 
FROM YourTable 
GROUP BY Person 

하지만 안전을 위해 MIN() 기능을 사용하십시오 : 당신이 ONLY_FULL_GROUP_BY 설정을 항상 꺼 것이라는 점을 보장 할 수있는 경우

+0

auto_increment 또는 timestamp가있는 다른 열이 있습니까? – HugoLemos

답변

2
SELECT Person, MIN(Room) AS Room 
FROM YourTable 
GROUP BY Person 

는 그리고, 다음은 MySQL의도 가능하다. ..

+0

감사합니다! 완벽하게 일했습니다! –

관련 문제