개발은 하는건가..

SQL 쿼리 - 그룹별로 최상위/최하위 값을 가지는 row 추출 본문

SQL Query

SQL 쿼리 - 그룹별로 최상위/최하위 값을 가지는 row 추출

수동애비 2022. 3. 8. 13:16
반응형

 

위와 같이 레코드가 존재할 때 각 특정 deviceType 의 fwType 별로 최신 버전을 추출하기 위한 쿼리를 아래와 같이 작성할 수 있다.

SELECT 	
	T2.deviceType,
	T2.fwType,
	T2.fwVer,
	T2.fwVerInt,
	T2.fwChecksum,
	T2.targetGroup
FROM 
	(SELECT 
		deviceType, 
		fwType, 
		MAX(fwVerInt) AS fwVerInt 
	FROM 
		Firmwares 
	GROUP BY 
		deviceType, fwType 
	HAVING 
		deviceType = '대상deviceType') T1
	INNER JOIN Firmwares T2 
	ON T1.deviceType=T2.deviceType 
		AND T1.fwType=T2.fwType 
		AND T1.fwVerInt=T2.fwVerInt

deviceType = 'A' 에 대해 쿼리시 다음과 같은 결과를 얻을 수 있다.

 

Comments