2012-05-15 2 views
0

mysql 쿼리에서 Distinct 함수를 사용할 때 테이블에서 하나의 컬럼 만 얻을 수있다.mysql 쿼리에서 distinct를 사용할 때 다른 컬럼을 얻는 방법

SELECT DISTINCT (subcategory.title), common_cat. * FROM `subcategory` 
LEFT JOIN common_cat ON (subcategory.title = common_cat.ctitle) 

그것은 다음과 같이 기록 반환 : 이것은 내가 사용하고 예를 들어 쿼리입니다 나는 또한 id 컬럼 을 얻고 싶은 table.Now 위의 데이터에서

 title  mid  wid  ctitle 
     Tops   17  5  Tops 
     Dresses NULL NULL NULL 
     Pants/Shorts 18 6 Pants/Shorts 
     Skirts NULL NULL NULL 
     Swimwear 24 8 Swimwear 
     Outerwear  21 9 Outerwear 

를 "제목"필드는 하위 범주에서 오는 하위 카테고리 테이블에서. 내가 어떻게 얻을 수 있니?

+0

실제로이 쿼리를 사용하여 하위 범주 테이블에서 id 열을 제외하고 원하는 결과를 얻고 있습니다. – user264341

답변

1

DISTINCT는 테이블 행에서 언급 한 열의 모든 데이터를 가져온 다음 중복 행을 필터링하고 ALL 열에 같은 값을 가진 고유 행을 표시하여 작동합니다.

마찬가지로 열 목록에 subcategory.id 열을 추가하면됩니다.

SELECT DISTINCT subcategory.title, subcategory.id, common_cat.* FROM `subcategory` 
JOIN common_cat ON (subcategory.title = common_cat.ctitle) 

은 유의하시기 바랍니다 별개의 명령에이 데이터베이스 서버 따라서 느린 출력 쿼리에 더 많은으로 픽업 * 더 많은 부하를 열 수를 모든 열을 사용하지 않는 것이 좋습니다. 고유 한 목록에 필요한 열 이름 만 언급하고 쿼리에서 common_cat. *을 제거 할 수 있습니다.

관련 문제