MySQL에서 테이블의 최대 ID 값을 구하려면 MAX() 집계 함수를 사용하면 됩니다. MAX() 함수는 지정한 컬럼의 값 중 가장 큰 값을 반환하며, 숫자형 컬럼뿐 아니라 날짜나 문자열 컬럼에도 활용할 수 있습니다.
기본 문법
SELECT MAX(yourColumnName) AS anyAliasName FROM yourTableName;
AS 키워드를 사용해 별칭(alias)을 지정하면 결과 컬럼의 이름을 원하는 대로 표시할 수 있어 가독성이 좋아집니다.
예제 테이블 생성
먼저 실습에 사용할 테이블을 생성해 보겠습니다.
mysql> create table DemoTable710 (Id int); Query OK, 0 rows affected (0.53 sec)
데이터 삽입
INSERT 명령어를 사용해 여러 개의 레코드를 삽입합니다.
mysql> insert into DemoTable710 values(1001); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable710 values(2001); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable710 values(1998); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable710 values(1789); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable710 values(1678); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable710 values(9087); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable710 values(1908); Query OK, 1 row affected (0.17 sec)
전체 데이터 확인
SELECT 문으로 테이블에 저장된 모든 레코드를 조회합니다.
mysql> select *from DemoTable710;
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
+------+ | Id | +------+ | 1001 | | 2001 | | 1998 | | 1789 | | 1678 | | 9087 | | 1908 | +------+ 7 rows in set (0.00 sec)
최대 ID 조회하기
이제 MAX() 함수를 사용해 테이블에서 가장 큰 ID 값을 조회하는 쿼리는 다음과 같습니다.
mysql> select MAX(Id) AS Max_Id from DemoTable710;
실행 결과는 아래와 같습니다.
+--------+ | Max_Id | +--------+ | 9087 | +--------+ 1 row in set (0.00 sec)
결과를 보면 7개의 레코드 중 가장 큰 값인 9087이 Max_Id라는 별칭으로 출력된 것을 확인할 수 있습니다.
참고 사항
MAX() 함수는 WHERE 절과 함께 사용해 특정 조건을 만족하는 행들 중에서만 최댓값을 구할 수도 있습니다. 또한 GROUP BY 절과 조합하면 그룹별 최댓값을 한 번에 조회할 수 있어 실무에서 매우 유용하게 활용됩니다.