2014-01-27 1 views
0

열 A와 B의 고유 한 조합을 선택하고 A, B 조합이 고유하지 않은 모든 행에 대해 A 값을 반환해야합니다. MySQL - 2 개 열의 고유 한 조합을 선택하고 별도로 값을 반환합니다.

은 어떻게 든 결과에 표시 할 열 A를 추가 할 내 쿼리입니다 : 그대로

SELECT DISTINCT A, B, count(id) as cnt FROM files_imported WHERE file_id = 13 GROUP BY A, B HAVING cnt > 1 

쿼리가 잘 작동하지만 나는 내가 값을 얻을 수 있습니다 그것을 수정해야 A 위의 조건이 충족되는 곳. 당신은 두 개의 쿼리 결과를 병합 'UNION'를 사용할 수 있습니다

답변

0

(그들은 동일한 열 데이터 유형이 필요합니다 지적 할 필요가 -이 설명하기를 '두 번째 쿼리에서) 그래서 쿼리는 다음과 같습니다

SELECT DISTINCT A, B, count(id) as cnt FROM files_imported WHERE file_id = 13 GROUP BY A, B HAVING cnt > 1 
UNION 
SELECT DISTINCT A, '', count(id) as cnt FROM files_imported WHERE file_id = 13 GROUP BY A, B HAVING cnt = 1 
0

이게 원하는가요?

SELECT distinct A 
FROM files_imported 
WHERE file_id = 13 
GROUP BY A, B 
HAVING count(id) > 1; 
관련 문제