Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

MySQL에서 열의 최댓값 구하는 방법 – ORDER BY와 LIMIT 활용법

MySQL에서 특정 열(column)의 최댓값을 구하는 방법은 여러 가지가 있지만, 그중 가장 대표적인 방식은 ORDER BY 절과 LIMIT을 조합하는 것입니다. 이번 글에서는 예제를 통해 단계별로 살펴보겠습니다.

1. 테이블 생성하기

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

mysql> create table DemoTable
-> (
-> Value int
-> );
Query OK, 0 rows affected (0.63 sec)

정수형(int) 데이터를 저장할 Value라는 단일 열을 가진 DemoTable 테이블이 성공적으로 만들어졌습니다.

2. 레코드 삽입하기

다음으로 INSERT 명령어를 사용해 몇 개의 레코드를 테이블에 추가합니다.

mysql> insert into DemoTable values(78);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values(89);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values(98);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(58);
Query OK, 1 row affected (0.25 sec)

3. 전체 레코드 확인하기

SELECT 문을 사용해 테이블의 모든 레코드를 조회합니다.

mysql> select *from DemoTable;

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

+-------+
| Value |
+-------+
| 78 |
| 89 |
| 98 |
| 58 |
+-------+
4 rows in set (0.00 sec)

4. 열의 최댓값 조회하기

열에서 최댓값을 가져오는 핵심 쿼리는 다음과 같습니다.

mysql> select Value from DemoTable order by Value DESC limit 1;

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

+-------+
| Value |
+-------+
| 98 |
+-------+
1 row in set (0.00 sec)

이 쿼리의 동작 원리를 간단히 설명하면 다음과 같습니다.

  • ORDER BY Value DESC: Value 열을 내림차순(큰 값부터)으로 정렬합니다.
  • LIMIT 1: 정렬된 결과 중 첫 번째 행, 즉 가장 큰 값 하나만 반환합니다.

참고: MAX() 함수 활용하기

내림차순 정렬 방식 외에도 MySQL에서 기본 제공하는 집계 함수인 MAX()를 사용하면 더 간결하게 최댓값을 구할 수 있습니다.

mysql> select max(Value) from DemoTable;

두 방식 모두 동일한 결과인 98을 반환합니다. 일반적으로 단순히 최댓값만 필요하다면 MAX() 함수가 더 효율적이며, 최댓값을 가진 행의 다른 열 정보까지 함께 조회해야 하는 경우에는 ORDER BY ... LIMIT 1 방식이 유용합니다.