최대값 및 최소값 조회하는 방법
보통 SQL에서 해당 컬럼에 최대값 및 최소값을 조회할 시, MAX나 MIN 함수를 이용하여 데이터를 가지고 오는 경우가 많다. 왜냐하면 상대적으로 함수를 이용하는 부분이라 상당히 쉽게 접근하여 사용할 수 있기 때문이다. 하지만 MAX, MIN 함수 같은 경우에는 조회하는 과정에 있어서 상당히 부하를 일으키기 때문에 자주 이용하지는 않는다.
필자는 다른 방법으로 최대값 및 최소값을 가져오는 방법을 사용하는데 이 방법을 공유하고자 한다.
다음과 같은 테이블에 여러 값들이 들어있다.
보통은 위와 같은 방법으로 MAX함수와 GROUP BY를 이용하여 최대값을 출력한다. 이와 같이 원하는 값을 출력할 수 있지만 다른 방법을 소개한다.
필자는 ROW_NUMBER를 이용하여 PARTITION BY함수를 써 동일한 BBS_ID에 대해서 순번을 부여하였다. 그리고 NTT_ID를 ORDER BY하여 오름차순 또는 내림차순으로 정렬을 하게 되면 최대값, 최소값을 쉽게 알 수가 있다.
최종적으로 SELECT문을 한 번 더 감싸서 RNUM이 1인 것들만 뽑게 되면 최대값 또는 최소값을 쉽게 출력할 수 있다. 이와 같은 방법을 응용하면 다양한 곳에서 사용이 가능하니 참고하면 좋을 듯 싶다.
관련글 더 보기
2018/08/16 - [SQL] Mybatis 범위 및 비교 쿼리 오류 해결 방법
2018/08/20 - [SQL] 대소문자 변환 함수 (LOWER, UPPER 사용방법)
2018/08/20 - [SQL] 빈칸 채우는 방법 (LPAD, RPAD 함수)
↓ 공감 을 눌러주시면 블로거에게 큰 힘이 됩니다 !
'공부 이야기' 카테고리의 다른 글
[SQL] 대소문자 변환 함수 (LOWER, UPPER 사용방법) (0) | 2018.08.20 |
---|---|
[SQL] Mybatis 범위 및 비교 쿼리 오류 해결 방법 (0) | 2018.08.16 |
[MSSQL] 카운트 시 NULL일 경우 0으로 출력시키는 방법 ! (0) | 2018.08.13 |
[MSSQL] LEFT, RIGHT 함수 사용방법은 ? (0) | 2018.08.13 |
[MSSQL] net.sourceforge.jtds.jdbc.ClobImpl 해결방법 (0) | 2018.08.02 |