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

MySQL 쿼리에서 n번째 레코드를 반환하는 방법은 무엇입니까?

<시간/>

MySQL 쿼리에서 n번째 레코드를 얻으려면 LIMIT를 사용할 수 있습니다. 구문은 다음과 같습니다 -

select *from yourTableName order by yourColumnName limit n,1;

위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 다음은 테이블을 생성하는 쿼리입니다 -

mysql> create table NthRecordDemo
   −> (
   −> Id int,
   −> Name varchar(200)
   −> );
Query OK, 0 rows affected (0.92 sec)

다음 쿼리를 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into NthRecordDemo values(100,'John');
Query OK, 1 row affected (0.09 sec)

mysql> insert into NthRecordDemo values(101,'Bob');
Query OK, 1 row affected (0.14 sec)

mysql> insert into NthRecordDemo values(102,'Carol');
Query OK, 1 row affected (0.22 sec)

mysql> insert into NthRecordDemo values(103,'Smith');
Query OK, 1 row affected (0.18 sec)

mysql> insert into NthRecordDemo values(104,'Johnson');
Query OK, 1 row affected (0.16 sec)

mysql> insert into NthRecordDemo values(105,'Sam');
Query OK, 1 row affected (0.16 sec)

mysql> insert into NthRecordDemo values(106,'David');
Query OK, 1 row affected (0.13 sec)

select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -

mysql> select *from NthRecordDemo;

다음은 출력입니다 -

+------+---------+
| Id   | Name    |
+------+---------+
| 100  | John    |
| 101  | Bob     |
| 102  | Carol   |
| 103  | Smith   |
| 104  | Johnson |
| 105  | Sam     |
| 106  | David   |
+------+---------+
7 rows in set (0.00 sec)

다음 쿼리를 사용하여 테이블에서 n번째 레코드 가져오기 -

mysql> select *from NthRecordDemo order by Id limit 6,1;

다음은 출력입니다 -

+------+-------+
| Id   | Name  |
+------+-------+
| 106  | David |
+------+-------+
1 row in set (0.00 sec)