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

MySQL LIMIT, OFFSET을 사용한 페이지 매김?

<시간/>

먼저 일부 레코드가 포함된 테이블을 만든 다음limit 및 offset의 도움으로 페이지 매김을 사용할 것입니다.

CREATE 명령을 사용하여 테이블 생성. 쿼리는 다음과 같습니다 -

mysql> CREATE table limitoffsetDemo
-> (
-> id int,
-> FisrtName varchar(200)
-> );
Query OK, 0 rows affected (0.45 sec)

테이블을 만든 후 INSERT 명령을 사용하여 레코드를 삽입합니다.

기록 삽입

mysql> INSERT into limitoffsetDemo values(1,'John');
Query OK, 1 row affected (0.11 sec)

mysql> INSERT into limitoffsetDemo values(2,'Bob');
Query OK, 1 row affected (0.16 sec)

mysql> INSERT into limitoffsetDemo values(3,'David');
Query OK, 1 row affected (0.13 sec)

mysql> INSERT into limitoffsetDemo values(4,'carol');
Query OK, 1 row affected (0.19 sec)

mysql> INSERT into limitoffsetDemo values(5,'Taylor');
Query OK, 1 row affected (0.10 sec)

mysql> INSERT into limitoffsetDemo values(1,'John');
Query OK, 1 row affected (0.24 sec)

mysql> INSERT into limitoffsetDemo values(7,'Smith');
Query OK, 1 row affected (0.13 sec)

mysql> INSERT into limitoffsetDemo values(8,'John');
Query OK, 1 row affected (0.12 sec)

mysql> INSERT into limitoffsetDemo values(9,'Johnson');
Query OK, 1 row affected (0.11 sec)

mysql> INSERT into limitoffsetDemo values(10,'Jason');
Query OK, 1 row affected (0.08 sec)

mysql> INSERT into limitoffsetDemo values(11,'Bk');
Query OK, 1 row affected (0.17 sec)

레코드를 삽입한 후 ofSELECT 명령을 사용하여 내 테이블에 몇 개의 레코드가 있는지 확인할 수 있습니다. 쿼리는 다음과 같습니다 -

mysql> SELECT * from limitoffsetDemo;

위의 쿼리를 실행하면 다음과 같은 결과가 나옵니다.

+------+-----------+
| id   | FisrtName |
+------+-----------+
| 1    | John      |
| 2    | Bob       |
| 3    | David     |
| 4    | carol     |
| 5    | Taylor    |
| 1    | John      |
| 7    | Smith     |
| 8    | John      |
| 9    | Johnson   |
| 10   | Jason     |
| 11   | Bk        |
+------+-----------+
11 rows in set (0.00 sec)

이제 11개의 레코드가 있습니다. limit 및 offset의 도움으로 페이지 매김을 설정하려면 다음 구문을 적용하십시오 -

SELECT * from yourTableName limit value1,value2;

위 쿼리에서 value1은 레코드를 표시해야 하는 위치를 알려주고 value2는 레코드 개수를 알려줍니다.

이제 위의 쿼리를 적용하여 다음과 같은 결과를 얻습니다. -

mysql> SELECT * from limitoffsetDemo limit 7,4;

다음은 출력입니다.

+------+-----------+
| id   | FirstName |
+------+-----------+
| 8    | John      |
| 9    | Johnson   |
| 10   | Jason     |
| 11   | Bk        |
+------+-----------+
4 rows in set (0.00 sec)