2012-02-11 2 views
0

는 안드로이드 SQLite는 모든 버전에 대한 법률 (안드로이드 1.6에서 말 -까지)가이 같은 쿼리를 가지고 :Android SQLite 그룹 전체 by columns?

select _id, name, min(qty) min_qty, max(qty) max_qty 
from my_table 
group by name 

주의 사항을 : 그룹 만하지 '_id'에 의해 '이름'입니다 . 나는 이것이 실제로 작동하는 것을 알아 챘다. 나는 그것이 목적과 모든 안드로이드 버전과 장치에 의해 이렇게 작동하는지 궁금합니다. 내 ListView에 최소 및 최대 수량을 표시하려면이 쿼리가 필요하지만 그룹화 된 행 중 하나의 _id를 가져야합니다. 희망적입니다.

+1

SQLite는 Android와 별개이며 쿼리는 다른 데이터베이스는 아니지만 SQLite (MySQL은 물론)에서도 유효합니다. GROUP BY 절은 기술적으로 ANSI이지만 대부분의 데이터베이스 (Oracle, SQL Server, DB2 등)가 지원하는 것은 아닙니다. PostgreSQL 9.2가 "누락 된 열"GROUP BY ...을 (를) 지원하기 시작했다고 생각합니다. –

+0

OK 고마워요. 어쨌든 이것에 대한 다른 확인을보고 싶습니다. – Yar

+2

OMG에 추가 된 내용을 추가하려면'name'이 고유이면 올바르게 작동합니다. 고유하지 않으면,'name'과 관련된 많은 것 중 하나 (다소 무작위)'_id'가 리턴됩니다. 따라서 (말한대로) 하나의 행 중 하나의'_id'가 그룹화 된 경우,이를 사용할 수 있습니다. –

답변

0

OMG Ponies 및 ypercube의 의견을 바탕으로이 질문에 대한 대답이라고 대답 할 수 있습니다. 예, 쿼리가 유효하고 반환 된 _id가 그룹 중 하나가 될 것입니다.