🧚 잠깐만요! Beekeeper Studio는 빠르고 현대적인 오픈 소스 MySQL GUI예요 다운로드
2025년 3월 14일 작성자: Matthew Rathbone

MySQL에서 상위 N개 행을 선택하는 방법

테이블에서 상위 N개 행을 선택하는 것은 데이터베이스를 다룰 때 가장 기본적인 작업이에요. 이 튜토리얼에서는 실용적인 예제와 함께 MySQL에서 이를 수행하는 방법을 알아볼게요.

계속 읽기 전에, 저희의 모던 MySQL 클라이언트인 Beekeeper Studio를 소개할게요. 테이블을 열면 행을 알아서 페이지 단위로 보여주고, 테이블을 우클릭해 SQL: Select Top을 선택하면 쿼리를 바로 만들어 줘요. MySQL에서는 무료로 쓸 수 있으니 여기서 다운로드하세요.

LIMIT 절 사용하기

MySQL의 LIMIT 절은 쿼리 결과 집합에서 반환할 행의 개수를 간단하게 지정하는 방법이에요.

예제: 상위 5개 행 선택하기

다음과 같은 스키마를 가진 employees 테이블이 있다고 가정해 볼게요:

CREATE TABLE employees (
    id INT,
    name VARCHAR(100),
    salary DECIMAL(10, 2)
);

급여를 기준으로 내림차순 정렬해서 상위 5명의 직원을 선택하려고 해요.

SELECT id, name, salary 
FROM employees 
ORDER BY salary DESC 
LIMIT 5;

동작 원리:

  1. ORDER BY salary DESC는 급여가 높은 순서부터 낮은 순서로 행을 정렬해요.
  2. LIMIT 5는 정렬 후 처음 5개 행만 출력하도록 제한해요.

예상 결과:

+----+----------+--------+
| id | name     | salary |
+----+----------+--------+
|  3 | Alice    | 90000  |
|  5 | Bob      | 85000  |
|  2 | Charlie  | 75000  |
|  6 | Diana    | 70000  |
|  4 | Edward   | 68000  |
+----+----------+--------+

LIMIT으로 동점 처리하기

값이 같은 행이 있을 때는 동점 조건을 따로 처리하지 않으면 LIMIT만으로는 일관된 결과를 얻지 못할 수 있어요. ORDER BY에 컬럼을 더 추가해서 동점을 구분하세요.

예제: 보조 정렬을 추가해 동점 처리하기

급여가 같은 경우를 처리하려면 직원의 id를 보조 정렬 기준으로 사용하세요:

SELECT id, name, salary 
FROM employees 
ORDER BY salary DESC, id ASC 
LIMIT 5;

동작 원리:

  • id ASC를 추가하면 급여가 같을 때 id가 더 낮은 직원이 항상 일관되게 선택돼요.

LIMIT으로 페이지네이션하기

상위 N개 행을 선택하는 것 외에도, 특정 범위의 행을 선택해 결과를 페이지 단위로 나눠야 할 때가 많아요.

예제: 다음 5개 행 선택하기

결과를 페이지로 나누어 급여 기준 6~10번째 행을 선택하려면:

SELECT id, name, salary 
FROM employees 
ORDER BY salary DESC 
LIMIT 5 OFFSET 5;

동작 원리:

  • LIMIT 5는 반환할 행의 개수를 지정해요.
  • OFFSET 5는 처음 5개 행을 건너뛰어요.

예상 결과:

상위 5명 다음에 오는 5명의 직원:

+----+---------+--------+
| id | name    | salary |
+----+---------+--------+
|  1 | Frank   | 67000  |
|  7 | Grace   | 64000  |
|  8 | Hannah  | 60000  |
|  9 | Ivan    | 59000  |
| 10 | Jane    | 58000  |
+----+---------+--------+

마무리

MySQL에서 LIMIT 절을 사용해 상위 N개 행을 선택하는 방법은 효율적이고 쉬워요. 동점이 생길 수 있다면 ORDER BY에 컬럼을 추가해서 정렬 순서를 안정적으로 유지하세요. 이 간단한 기법은 분석이나 리포팅을 비롯한 많은 애플리케이션에서, 특히 대용량 데이터셋을 다룰 때 꼭 필요해요.

이 기법들을 익혀 두면 MySQL에서 데이터를 조회하고 다루는 작업을 훨씬 더 자유롭게 제어할 수 있어요.

Beekeeper Studio는 무료 오픈 소스 MySQL GUI예요

요즘 MySQL 작업에 Beekeeper Studio를 쓰고 있는데, 금세 제가 가장 좋아하는 데이터베이스 도구 중 하나가 됐어요. 인터페이스가 깔끔하고 현대적이며 군더더기가 없어서, 다른 도구들처럼 복잡하지 않고 쿼리에만 집중하기 좋아요. - Surendra Singh

Beekeeper Studio는 빠르고 직관적이며 사용하기 쉬운 MySQL 클라이언트예요. 다른 데이터베이스도 많이 지원하고, Windows, Mac, Linux에서 모두 잘 작동해요.

Beekeeper의 Linux 버전은 100% 모든 기능을 갖추고 있어요. 대충 만든 부분도, 빠진 기능도 없어요.

MySQL 사용자들의 Beekeeper Studio 후기

Beekeeper Beekeeper Still a Newbie

phpMyAdmin을 몇 년 동안 쓰다가 이 프로그램을 선택했는데, 훨씬 높은 품질의 세계로 들어선 느낌이에요. 여기서는 사용자를 진심으로 배려한다는 게 느껴졌어요. 콘셉트, 구현, 실제 사용 경험까지, 이 모든 것에 대해 Matthew에게 진심으로 감사드려요.

Alex M

정말 멋진 도구예요. 지금까지 써 본 Postgres와 MySql DB 관리용 IDE 중 가장 실용적이에요. 번거로움 없이 그냥 잘 돌아가요 :-)

MySQL 작업 방식을 개선할 준비가 되셨나요?

download 무료 다운로드