MySQL에서 열(column)에 저장된 값 중 가장 큰 숫자를 찾으려면 집계 함수인 MAX()를 사용하면 됩니다. 기본 문법은 다음과 같습니다.
select max(yourColumnName) as anyVariableName from yourTableName;
예제 테이블 생성하기
개념을 쉽게 이해하기 위해 int 타입의 열을 가진 테이블을 먼저 만들어 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.
mysql> create table HighestNumberDemo
-> (
-> BigNumber int
-> );
Query OK, 0 rows affected (0.87 sec)
데이터 삽입하기
이제 테이블에 몇 개의 값을 삽입해 보겠습니다. 레코드를 추가하는 쿼리는 아래와 같습니다.
mysql> insert into HighestNumberDemo values(1234);
Query OK, 1 row affected (0.43 sec)
mysql> insert into HighestNumberDemo values(9999);
Query OK, 1 row affected (0.18 sec)
mysql> insert into HighestNumberDemo values(10000);
Query OK, 1 row affected (0.17 sec)
mysql> insert into HighestNumberDemo values(989898);
Query OK, 1 row affected (0.14 sec)
mysql> insert into HighestNumberDemo values(999987);
Query OK, 1 row affected (0.18 sec)
저장된 전체 데이터 확인하기
SELECT 문을 사용하면 테이블에 저장된 모든 레코드를 조회할 수 있습니다.
mysql> select *from HighestNumberDemo;
실행 결과는 다음과 같습니다.
+-----------+
| BigNumber |
+-----------+
| 1234 |
| 9999 |
| 10000 |
| 989898 |
| 999987 |
+-----------+
5 rows in set (0.00 sec)
MAX() 함수로 최댓값 구하기
앞서 살펴본 문법을 실제로 적용해 열에서 가장 큰 숫자를 찾아보겠습니다. 쿼리는 다음과 같습니다.
mysql> select max(BigNumber) as HighestNumber from HighestNumberDemo;
실행 결과는 다음과 같습니다.
+---------------+
| HighestNumber |
+---------------+
| 999987 |
+---------------+
1 row in set (0.00 sec)
결과를 보면 MAX() 함수가 열의 모든 값을 비교한 뒤 가장 큰 값인 999987을 반환한 것을 확인할 수 있습니다. 이처럼 MAX() 함수는 숫자형 데이터뿐만 아니라 날짜 등 다양한 데이터 유형에서도 최댓값을 손쉽게 구할 수 있는 매우 유용한 집계 함수입니다.