MSSQL 최소값 구하기 MIN

최소값 구하기

MSSQL에서 최소값을 구하는 방법에 대해 살펴보겠습니다
전체 데이터중 가장 작은 값을 알고 싶을 수 도 있고
특정 기준별로 가장 작은 값을 알고 싶을 수 있습니다 (마트별 가장 싼 라면가격 등..)
이럴 때 MIN함수를 통해 최소값을 구할 수 있습니다

기본문법

SELECT MIN(COLUMN)
  FROM TABLE
/*
    TABLE 내에서 가장 작은 COLUMN의 값을 출력합니다
*/

SELECT COLUMN1
     , MIN(COLUMN2)
  FROM TABLE
 GROUP BY COLUMN1
/*
    TABLE내에서 COLUMN1별로 가장작은 COLUMN2의 깂을 출력합니다
*/

MIN은 그룹함수 이기 때문에 GROUP BY 되지 않은 칼럼과는 함께 조회될 수 없습니다

💡그룹함수: 그룹별로 데이터를 조회하는 데 사용되는 함수 MAX(최대값), MIN(최소값) 등이 있습니다
GROUP BY로 GROUP을 지정해 주되 지정하지 않은 경우 전체데이터를 그룹으로 조회합니다

 

예시

MIN함수에 사용되는 예를 살펴보겠습니다
지역별 가장 기름값이 낮은 곳의 가격을 알고 싶을 때 다음과 같이 쿼리를 작성할 수 있습니다

SELECT CITY_NM
     , MIN(OIL_PRICE) AS MIN_OIL_PRICE
  FROM GAS_STATION
  
/*
    GAS_STATION: 주유소정보 가 담긴 테이블
    CITY_NM: 도시명 컬럼
    OIL_PRICE: 기름값 컬럼
    
    도시명(CITY_NM)별로 가장낮은 기름값(OIL_PRICE)을 출력됩니다
*/

위에서 도시별로 가장 낮은 기름값데이터를 출력했는데요
가장 낮은 기름값에 해당하는 주유소 정보까지 출력하려면 다음과 같이 작성할 수 있습니다

SELECT A.*
  FROM GAS_STATION A
       INNER JOIN (
           SELECT CITY_NM
                , MIN(OIL_PRICE) AS MIN_OIL_PRICE
             FROM GAS_STATION
       ) B ON (B.CITY_NM = A.CITY_NM AND B.MIN_OIL_PRICE = A.OIL_PRICE)
/*
    GAS_STATION: 주유소정보 가 담긴 테이블
    CITY_NM: 도시명 컬럼
    OIL_PRICE: 기름값 컬럼
    
    도시명(CITY_NM)별로 가장낮은 기름값(OIL_PRICE)을 가진 주유소 정보들이 조회됩니다.
*/