MySQL
한도 및 오프셋
수색…
통사론
- SELECT column_1 [, column_2]
FROM table_1
ORDER BY order_column
LIMIT 행 _ 카운트 [OFFSET 행 _ 오프셋] - SELECT column_1 [, column_2]
FROM table_1
ORDER BY order_column
LIMIT [row_offset,] row_count
비고
"제한"은 "테이블의 최대 행 수"를 의미 할 수 있습니다.
"오프셋"은 row
번호에서 선택을 의미합니다 (기본 키 값이나 필드 데이터 값과 혼동하지 마십시오)
한계 및 오프셋 관계
다음 users
테이블을 고려하십시오.
신분증 | 사용자 이름 |
---|---|
1 | 사용자 1 |
2 | 사용자 2 |
삼 | 사용자 3 |
4 | 사용자 4 |
5 | User5 |
SELECT
쿼리 의 결과 집합에서 행 수를 제한하기 위해 LIMIT
절을 하나 또는 두 개의 양수 정수와 함께 인수 (0 포함)로 사용할 수 있습니다.
인수가 하나 인 LIMIT
절
하나의 인수가 사용되면 결과 집합은 다음과 같은 방식으로 지정된 수로 제한됩니다.
SELECT * FROM users ORDER BY id ASC LIMIT 2
신분증 | 사용자 이름 |
---|---|
1 | 사용자 1 |
2 | 사용자 2 |
인수의 값이 0
이면 결과 집합이 비어 있습니다.
ORDER BY
절이 제시 될 결과 집합의 첫 번째 행을 지정하기 위해 중요 할 수도 있습니다 (다른 열에 의해 정렬 할 때).
두 개의 인수가있는 LIMIT
절
LIMIT
절에 두 개의 인수가 사용될 때 :
- 첫 번째 인수는 결과 집합 행이 표시 될 행을 나타냅니다.이 번호는 제한된 결과 집합의 초기 행보다 이전 행을 나타내므로 오프셋으로 언급되는 경우가 많습니다. 이것은 인수가 값으로
0
을 받고 따라서 제한되지 않은 결과 세트의 첫 x 째 행을 고려하도록 허용합니다. - 두 번째 인수는 결과 집합에 반환 될 최대 행 수를 지정합니다 (한 인수의 예와 유사).
따라서 쿼리 :
SELECT * FROM users ORDER BY id ASC LIMIT 2, 3
다음 결과 집합을 표시합니다.
신분증 | 사용자 이름 |
---|---|
삼 | 사용자 3 |
4 | 사용자 4 |
5 | User5 |
offset 인수가 0
일 때 결과 집합은 하나의 인수 LIMIT
절과 동일합니다. 이것은 다음과 같은 두 가지 쿼리를 의미합니다.
SELECT * FROM users ORDER BY id ASC LIMIT 0, 2
SELECT * FROM users ORDER BY id ASC LIMIT 2
동일한 결과 집합을 생성합니다.
신분증 | 사용자 이름 |
---|---|
1 | 사용자 1 |
2 | 사용자 2 |
OFFSET
키워드 : 대체 구문
두 개의 인수가있는 LIMIT
절의 대체 구문은 다음과 같은 방식으로 첫 번째 인수 뒤에 OFFSET
키워드를 사용하는 것입니다.
SELECT * FROM users ORDER BY id ASC LIMIT 2 OFFSET 3
이 쿼리는 다음 결과 집합을 반환합니다.
신분증 | 사용자 이름 |
---|---|
삼 | 사용자 3 |
4 | 사용자 4 |
이 대체 구문에서 인수의 위치는 다음과 같이 전환됩니다.
첫 번째 인수는 결과 집합에 반환 될 행 수를 나타냅니다.
두 번째 인수는 오프셋을 나타냅니다.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow