데이타 내용
제품 VERSION AMOUNT
A 1 100
A 2 50
B 1 100
C 1 130
C 2 130
위와 같은 데이타가 있을 경우
아래와 같이 조회 되길를 원합니다.
어떻게 쿼리를 만들면 될지 조언을 얻고 싶습니다.
아마 이렇게 하시면 되실것입니다.. 데이터 건수가 많다면 Query 시간이 걸리겠지요.. SELECT 제품, VERSION, AMOUNT FROM 테이블 WHERE 제품 || VERSION = (SELECT 제품, MAX(VERSION) FROM 테이블 GROUP BY 제품) 또는 SELECT 제품, VERSION, AMOUNT FROM 테이블 WHERE 제품 || VERSION IN (SELECT 제품, MAX(VERSION) FROM 테이블 GROUP BY 제품)
이렇게 하면 되지 않을까요 ? select x.제품, x.version, y.amount from (select 제품, max(version) from 테이블 group by 제품) x, 테이블 y where x.제품 = y.제품 and x.version = y.version 속도도 괜찮고, 그런대로 결과도 나올 것 같네요 만일 where 조건에 in으로 query를 하면 아마도 속도가 많이 늦을 것으로 보입니다.