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

MySQL에서 두 컬럼 값 중 더 큰 값을 구하는 방법 – GREATEST() 함수 완벽 가이드

MySQL에서 두 개의 컬럼(열) 값 중 더 큰 값을 구하려면 GREATEST() 함수를 사용해야 합니다. 이 함수는 전달된 인수들 중 가장 큰 값을 반환하는 내장 함수로, 두 개 이상의 값 비교에도 활용할 수 있습니다.

GREATEST() 함수 기본 문법

SELECT GREATEST(yourColumnName1, yourColumnName2) AS anyAliasName FROM yourTableName;

예제 테이블 생성하기

먼저 실습에 사용할 테이블을 생성해 보겠습니다.

mysql> CREATE TABLE DemoTable
(
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Number1 int,
    Number2 int
);
Query OK, 0 rows affected (0.63 sec)

다음으로 INSERT 명령을 사용하여 테이블에 샘플 데이터를 삽입합니다.

mysql> INSERT INTO DemoTable(Number1, Number2) VALUES(1000, 10000);
Query OK, 1 row affected (0.49 sec)
mysql> INSERT INTO DemoTable(Number1, Number2) VALUES(600, 900);
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable(Number1, Number2) VALUES(12, 9);
Query OK, 1 row affected (0.33 sec)
mysql> INSERT INTO DemoTable(Number1, Number2) VALUES(19, 56);
Query OK, 1 row affected (0.17 sec)

저장된 데이터 확인하기

SELECT 명령으로 테이블에 저장된 레코드를 조회해 보겠습니다.

mysql> SELECT * FROM DemoTable;

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

+----+---------+---------+
| Id | Number1 | Number2 |
+----+---------+---------+
|  1 | 1000    | 10000   |
|  2 | 600     | 900     |
|  3 | 12      | 9       |
|  4 | 19      | 56      |
+----+---------+---------+
4 rows in set (0.00 sec)

GREATEST() 함수로 두 컬럼 중 큰 값 조회하기

이제 GREATEST() 함수를 사용하여 두 컬럼 값 중 더 큰 값을 조회하는 쿼리를 실행해 보겠습니다.

mysql> SELECT GREATEST(Number1, Number2) AS MAXIMUM_NUMBER_OF_TWO_COLUMNS FROM DemoTable;

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

+-------------------------------+
| MAXIMUM_NUMBER_OF_TWO_COLUMNS |
+-------------------------------+
| 10000                         |
| 900                           |
| 12                            |
| 56                            |
+-------------------------------+
4 rows in set (0.00 sec)

결과 분석

출력 결과를 보면 첫 번째 행에서 1000과 10000을 비교했을 때 더 큰 값인 10000이 반환된 것을 확인할 수 있습니다. 마찬가지 방식으로 나머지 행에서도 각각 600과 900 중에서는 900, 12와 9 중에서는 12, 19와 56 중에서는 56이 반환됩니다.

참고 사항

GREATEST() 함수를 사용할 때 한 가지 주의할 점이 있습니다. 인수 중 하나라도 NULL 값이 포함되어 있으면 결과도 NULL을 반환합니다. 만약 NULL 값을 무시하고 비교하고 싶다면 COALESCE() 함수와 함께 활용하는 방법을 고려해 볼 수 있습니다.