MySQL은 처음 10 개의 결과를 건너 뜁니다.


102

MySQL에서 SELECT 쿼리의 처음 10 개의 결과를 건너 뛰는 방법이 있습니까? LIMIT와 같은 작업을하고 싶습니다.


7
여기의 모든 답변에는 ORDER BY 절이 없습니다. SQL 테이블에는 기본 순서가 없으며, 명시 적 ORDER없이 느릅 나무 건너 뛸 처음 10 개 결과이다 말할 수있는 방법은 없습니다에 의해
fthiella가

답변:


125

두 개의 매개 변수와 함께 LIMIT를 사용하십시오. 예를 들어 11-60 (결과 1이 첫 번째 행) 결과를 반환하려면 다음을 사용합니다.

SELECT * FROM foo LIMIT 10, 50

모든 결과를 반환하는 솔루션은 Thomas의 답변을 참조하십시오 .


언급 한 번호 사이에서 일부 행이 삭제되면 어떻게 될까요?
Alex

91

트릭을 수행해야하는 오프셋도 있습니다.

SELECT column FROM table
LIMIT 10 OFFSET 10

7
보다 이해하기 더 쉬운limit 10,10
shellbye


33

로부터 수동 :

특정 오프셋에서 결과 집합의 끝까지 모든 행을 검색하려면 두 번째 매개 변수에 큰 수를 사용할 수 있습니다. 이 문은 96 번째 행에서 마지막 행까지의 모든 행을 검색합니다.

SELECT * FROM tbl LIMIT 95,18446744073709551615;

물론, 당신은 교체해야합니다 95으로 10. 그런데 그들이 사용하는 많은 수는 2 ^ 64-1입니다.


5

LIMIT를 사용하면 여러 행을 건너 뛸 수 있습니다. 그것은이 두 개의 매개 변수를, 그 중 첫 번째 - 행 수를하는 것은 생략 할


이것은 "What is Offset"감사합니다 @Col을 분명히했습니다. Shrapnel
OM The Eternity

2
select * from table where id not in (select id from table limit 10)

id테이블의 키는 어디에 있습니까 ?


이는 임팔라 및 오프셋 제한이 항상 바람직하지 않은 순서 인수를 요구하는 기타 데이터베이스에 유용하고 빠르게 수행 할 수 있습니다.
KarthikS

-5

테이블에 ID 별 주문이있는 경우 다음과 같이 쉽게 수행 할 수 있습니다.

select * from table where id > 10
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.