MySQL에서 특정 숫자보다 큰 값들 중 가장 작은 숫자(즉, 바로 위에 있는 다음 숫자)를 찾으려면 MIN() 집계 함수와 WHERE 절을 함께 사용하면 됩니다. 아래 예제를 통해 단계별로 살펴보겠습니다.
1. 테이블 생성하기
먼저 데모용 테이블을 생성합니다.
mysql> create table DemoTable
(
Number int
);
Query OK, 0 rows affected (0.54 sec)2. 데이터 삽입하기
INSERT 명령을 사용해 몇 개의 레코드를 삽입합니다.
mysql> insert into DemoTable values(11); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable values(9); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable values(10); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values(12); Query OK, 1 row affected (0.11 sec)
3. 전체 레코드 조회하기
SELECT 문으로 테이블의 모든 레코드를 확인합니다.
mysql> select *from DemoTable;
실행 결과는 다음과 같습니다.
+--------+ | Number | +--------+ | 11 | | 9 | | 10 | | 12 | +--------+ 4 rows in set (0.00 sec)
4. 특정 숫자보다 큰 값 중 최솟값 구하기
아래 쿼리는 10보다 큰 숫자들 중 가장 작은 값을 반환합니다. WHERE 절로 조건을 걸고, MIN() 함수로 해당 범위 내의 최솟값을 추출하는 방식입니다.
mysql> select min(Number) from DemoTable where Number > 10;
실행 결과는 다음과 같습니다.
+-------------+ | min(Number) | +-------------+ | 11 | +-------------+ 1 row in set (0.00 sec)
결과 정리
테이블에는 9, 10, 11, 12가 저장되어 있으며, 기준값이 10일 때 10보다 큰 숫자는 11과 12입니다. 이 중 가장 작은 값인 11이 MIN() 함수를 통해 정확히 반환되었습니다. 이처럼 MIN() 함수와 WHERE 절을 조합하면 특정 값 바로 위에 있는 다음 숫자를 손쉽게 찾을 수 있습니다.