mysql - 결과 행 제한하기

2cong·2020년 6월 2일
0

Mysql

목록 보기
3/4

LIMIT

select 열명 from 테이블명 limit 행수
  • limit구는 select 명령어의 마지막에 지정하는 것으로 where 구나 order by 구의 뒤에 지정

  • limit 다음에는 최대 행수를 수치로 지정

mysql> select * from interests;
+----+--------------------+
| id | name               |
+----+--------------------+
|  1 | Outdoor & Sports   |
|  2 | Wellness & Fitness |
|  3 | Art & Culture      |
|  4 | Food & Drink       |
|  5 | Travel             |
+----+--------------------+

예시 1 ) 아래와 같이 limit를 이용하여 행의 갯수를 지정할 수 있음

mysql> select * from interests limit 2;
+----+--------------------+
| id | name               |
+----+--------------------+
|  1 | Outdoor & Sports   |
|  2 | Wellness & Fitness |
+----+--------------------+

예시 2 ) limit는 최대 행수를 지정하는 것
따라서 limit 갯수가 테이블 행의 갯수보다 많으면 테이블의 행 갯수 만큼 나타남

mysql> select * from interests limit 7;
+----+--------------------+
| id | name               |
+----+--------------------+
|  1 | Outdoor & Sports   |
|  2 | Wellness & Fitness |
|  3 | Art & Culture      |
|  4 | Food & Drink       |
|  5 | Travel             |
+----+--------------------+

OFFSET

select 열명 from 테이블명 limit 행수 offset 위치
  • offset으로 위치 조정을 할 수 있음
    • 시작 행 위치를 조절 할 수 있음
  • 위치 지정은 0부터 시작하므로 처음 부터 시작하려면 offset 0을 지정
    • 시작할 행 -1 로 offset 값을 주기
 
mysql> select * from second_categories;
+----+----------------------+-------------------+
| id | name                 | first_category_id |
+----+----------------------+-------------------+
|  1 | 아웃도어               |                 1 |
|  2 | 스포츠                |                 1 |
|  3 | 수상레저               |                 1 |
|  4 | 테마파크               |                 1 |
|  5 | 워터파크·스파           |                 1 |
|  6 | 투어·관람              |                 1 |
|  7 | 대회·축제              |                 1 |
		   	•
            		•
                    	•
| 30 | 스파·마사지             |                 3 |
| 31 | 심리·상담              |                 3 |
| 32 | 코칭                  |                 3 |
| 33 | 클럽                  |                 4 |
| 34 | 토크·파티              |                 4 |
| 35 | 취향                  |                 4 |
| 36 | 스터디                 |                 4 |
| 37 | 봉사·임팩트             |                 4 |
| 38 | 이벤트·공간             |                 4 |
+----+----------------------+-------------------+

예시 1)

아래와 같이 offset으로 시작점 0을 지정해줄 수 있고 limit로 갯수를 지정해 줄 수 있음

mysql> select * from second_categories limit 5 offset 0;
+----+----------------------+-------------------+
| id | name                 | first_category_id |
+----+----------------------+-------------------+
|  1 | 아웃도어               |                 1 |
|  2 | 스포츠                |                 1 |
|  3 | 수상레저               |                 1 |
|  4 | 테마파크               |                 1 |
|  5 | 워터파크·스파           |                 1 |
+----+----------------------+-------------------+

예시 2) offset으로 시작점을 지정 후 limit로 갯수 조절

mysql> select * from second_categories limit 3 offset 6;
+----+----------------+-------------------+
| id | name           | first_category_id |
+----+----------------+-------------------+
|  7 | 대회·축제        |                 1 |
|  8 | 공연·전시        |                 1 |
|  9 | 실내체험         |                 1 |
+----+----------------+-------------------+

예시 3) limit 없이 offset만 사용하는 경우

-->  사용 불가능 
mysql> select * from second_categories offset 6;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '6' at line 1

0개의 댓글