Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 OFFSET과 함께 LIMIT를 사용하는 동안 어떤 행이 반환됩니까?

<시간/>

LIMIT가 4이고 OFFSET이 6이라고 가정하면 7에서 10까지의 행을 반환합니다. 즉, 10행으로 끝납니다. LIMIT 4와 OFFSET 6은 7,8,9,10행을 반환합니다.

LIMIT와 OFFSET을 구현하면 위의 개념을 이해할 수 있습니다. 테이블을 만들어 보겠습니다.

mysql> create table LimitOffsettable
   -> (
   -> Id int
   -> );
Query OK, 0 rows affected (0.60 sec)

테이블에 일부 레코드를 삽입해 보겠습니다. 쿼리는 다음과 같습니다 -

Mysql> insert into LimitOffsettable values(1);
Query OK, 1 row affected (0.15 sec)
mysql> insert into LimitOffsettable values(2);
Query OK, 1 row affected (0.21 sec)
mysql> insert into LimitOffsettable values(3);
Query OK, 1 row affected (0.12 sec)
mysql> insert into LimitOffsettable values(4);
Query OK, 1 row affected (0.12 sec)
mysql> insert into LimitOffsettable values(5);
Query OK, 1 row affected (0.12 sec)
mysql> insert into LimitOffsettable values(6);
Query OK, 1 row affected (0.11 sec)
mysql> insert into LimitOffsettable values(7);
Query OK, 1 row affected (0.13 sec)
mysql> insert into LimitOffsettable values(8);
Query OK, 1 row affected (0.11 sec)
mysql> insert into LimitOffsettable values(9);
Query OK, 1 row affected (0.09 sec)
mysql> insert into LimitOffsettable values(10);
Query OK, 1 row affected (0.11 sec)
mysql> insert into LimitOffsettable values(11);
Query OK, 1 row affected (0.12 sec)
mysql> insert into LimitOffsettable values(12);
Query OK, 1 row affected (0.11 sec)
mysql> insert into LimitOffsettable values(13);
Query OK, 1 row affected (0.13 sec)\

select 문을 사용하여 위에 삽입된 모든 레코드를 표시할 수 있습니다. 쿼리는 다음과 같습니다 -

mysql> select *from LimitOffsettable;

다음은 출력입니다 -

+------+
| Id   |
+------+
| 1    |
| 2    |
| 3    |
| 4    |
| 5    |
| 6    |
| 7    |
| 8    |
| 9    |
| 10   |
| 11   |
| 12   |
| 13   |
+------+
13 rows in set (0.00 sec)

7에서 10까지(즉, 7,8,9,10) 행을 시작하는 LIMIT 4 및 OFFSET 6을 구현합니다.

쿼리는 다음과 같습니다 -

mysql> select *from LimitOffsettable LIMIT 4 OFFSET 6;

다음은 row −

를 반환하는 출력입니다.
+------+
| Id   |
+------+
| 7    |
| 8    |
| 9    |
| 10   |
+------+
4 rows in set (0.00 sec)