Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 두 개 이상의 필드의 최소값 구하는 방법 – LEAST() 함수 완벽 가이드

MySQL에서 두 개 이상의 필드(컬럼) 중 최소값을 구하려면 LEAST() 함수를 사용하면 됩니다. LEAST() 함수는 인자로 전달된 여러 값 중 가장 작은 값을 반환하는 내장 함수로, 날짜형이나 숫자형 데이터 모두에 활용할 수 있습니다.

LEAST() 함수 기본 문법

SELECT LEAST(컬럼명1, 컬럼명2, ...N) FROM 테이블명;

예제 테이블 생성

먼저 실습에 사용할 테이블을 생성해 보겠습니다. 세 개의 날짜 컬럼을 가진 테이블을 만듭니다.

mysql> CREATE TABLE DemoTable
-> (
-> Date1 date,
-> Date2 date,
-> Date3 date
-> );
Query OK, 0 rows affected (0.54 sec)

데이터 삽입

INSERT 명령어를 사용해 테이블에 레코드를 추가합니다.

mysql> INSERT INTO DemoTable VALUES('2019-03-31','2019-01-01','2019-03-05');
Query OK, 1 row affected (0.17 sec)

저장된 데이터 확인

SELECT 문으로 테이블의 모든 레코드를 조회합니다.

mysql> SELECT * FROM DemoTable;

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

+------------+------------+------------+
| Date1      | Date2      | Date3      |
+------------+------------+------------+
| 2019-03-31 | 2019-01-01 | 2019-03-05 |
+------------+------------+------------+
1 row in set (0.00 sec)

LEAST() 함수로 최소값 조회하기

이제 LEAST() 함수를 사용해 세 개의 날짜 컬럼 중 가장 빠른(작은) 날짜를 조회하는 쿼리를 실행해 보겠습니다.

mysql> SELECT LEAST(Date1, Date2, Date3) FROM DemoTable;

실행 결과는 다음과 같습니다.

+----------------------------+
| LEAST(Date1,Date2,Date3)   |
+----------------------------+
| 2019-01-01                 |
+----------------------------+
1 row in set (0.04 sec)

결과 분석

세 개의 날짜 값 중 '2019-01-01'이 가장 작은 값이므로 LEAST() 함수가 해당 값을 정확히 반환한 것을 확인할 수 있습니다.

참고 사항

  • LEAST() 함수에 NULL 값이 포함되어 있으면 결과도 NULL을 반환합니다.
  • GREATEST() 함수를 사용하면 반대로 여러 필드 중 최대값을 구할 수 있습니다.
  • 숫자, 문자열, 날짜 등 비교 가능한 데이터 타입이라면 모두 사용할 수 있습니다.