2011-08-02 2 views
2

내 sqlite 데이터베이스에서 image라는 세 개의 필드 레이블, url 및 index가 포함되어 있습니다. 데이터베이스에서 데이터를 가져 오기위한 다음 코드를 작성했습니다. "SELECT DISTINCT (label), index from image;". 내 테이블에 'Cat'이라는 라벨이 3 번 나옵니다. 이 코드에 따르면 코드는 내 데이터베이스에서 하나의 '고양이'만 표시해야합니다. 하지만 작동하지 않습니다. 세 개의 'Cat'레이블을 모두 가져옵니다. 왜 그렇게됩니까? 가능한 해결책을 찾도록 도와주세요. 색인 필드는 세 가지 '고양이'라벨 모두 다릅니다.sqlite 데이터베이스 쿼리에 문제가 발생했습니다.

답변

1

DISTINCT 키워드, 그것은 중복 행이 결과에서 제거해야하는 기능이 지정되지 않습니다

간단한 SELECT는 SELECT DISTINCT 경우, 중복 된 행은 반환되기 전에 결과 행 집합에서 이 제거되었습니다.

현재 상태 달성을 위해 라벨별로 그룹화해야합니다.

SELECT label, index FROM image GROUP BY label 
0

이 시도 :

select label, index from image 
where label in (select distinct label from image)