no ISU_CD DATE VAL1 VAL2
--------------------------------------------------------
1 KR7000250001 20081107 1740 1500
2 KR7000250001 20081106 1735 1585
3 KR7000250001 20081105 1930 1730
4 KR7000250001 20081104 1730 1630
5 KR7000250001 20081103 1690 1610
6 KR7000440008 20081107 26950 23350
7 KR7000440008 20081106 31900 24150
8 KR7000440008 20081105 29850 24750
9 KR7000440008 20081104 28000 24500
10 KR7000440008 20081103 25000 21700
이런 데이타에서
값을 구하는데
조건이 '같은 ISU_ID중 VAL1이 최대인 값들'을 구하고 싶습니다.
대충 아는대로 써보면
SELECT NO, ISU_ID, DATE, MAX(VAL1), VAL2 FROM 테이블 GROUP BY ISU_ID
이렇게 하면 될것 같았는데
결과를 확인해 보니
3 KR7000250001 20081105 1930 1730
7 KR7000440008 20081106 31900 24150
이렇게 3번과 7번 라인이 나와야 정상인데
1 KR7000250001 20081107 1930 1500
6 KR7000440008 20081107 31900 23350
이렇게 VAL1만 최대값이 나오고
다른 컬럼들은 엉뚱한 곳에서 튀어 나와 버리네요..
SELECT NO, ISU_ID, DATE, MAX(VAL1), VAL2 FROM 테이블 WHERE ISU_ID in(SELECT ISU_ID FROM 테이블 GROUP BY ISU_ID )
요런 쿼리도 안먹히구요..
무슨 문제일까요...
mysql 4.0버전이라
서브 쿼리가 안먹혀서 작동 안하는것 같은데
쿼리 두번 때리려면 어떤식으로 써야 할까요
|