최소값 구하기
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)을 가진 주유소 정보들이 조회됩니다.
*/