MySQL의 제한 사용법: 쿼리 문을 사용할 때 처음 몇 개의 항목이나 중간에 있는 특정 행을 반환해야 하는 경우가 많습니다. 이때 무엇을 해야 합니까? mysql은 이미 제공하고 있습니다. 우리는 그러한 기능을 가지고 있습니다.
SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
LIMIT 절을 사용하면 SELECT 문이 지정된 수의 레코드를 반환하도록 강제할 수 있습니다. LIMIT는 하나 또는 두 개의 숫자 인수를 허용합니다. 매개변수는 정수 상수여야 합니다. 두 개의 매개변수가 제공되는 경우 첫 번째 매개변수는 처음으로 반환되는 레코드 행의 오프셋을 지정하고, 두 번째 매개변수는 반환되는 레코드 행의 최대 개수를 지정합니다. 초기 레코드 행의 오프셋은 0(1 대신)입니다. PostgreSQL과의 호환성을 위해 MySQL은 LIMIT # OFFSET # 구문도 지원합니다.
mysql> SELECT * FROM table LIMIT 5,10; //6~15번째 레코드 행 검색
//특정 오프셋부터 끝까지의 모든 레코드를 검색하려면 레코드 세트 레코드 행의 경우 두 번째 매개변수를 -1로 지정할 수 있습니다.
mysql> SELECT * FROM table LIMIT 95,-1; // 레코드 행 96-마지막을 검색합니다.
// 하나의 매개변수만 제공되는 경우, 이는 최대 레코드 행 수를 반환한다는 의미입니다:
mysql> SELECT * FROM table LIMIT 5 //처음 5개의 레코드 행 검색
/ /즉, LIMIT n은 LIMIT 0,n과 동일합니다.
한계 10과 한계 9, 1의 차이점에 유의하세요.
예:
1.
Select * From cyclopedia Where ID>=( Select Max(ID) From ( Select ID From cyclopedia Order By ID limit 90001 ) As tmp ) limit 100;
2.
Select * From cyclopedia Where ID>=( Select Max(ID) From ( Select ID From cyclopedia Order By ID limit 90000,1 ) As tmp ) limit 100;