MySQL 쿼리에서 한계를 사용하는 경우 결과 세트가 한계와 같아야합니까?

StackOverflow https://stackoverflow.com/questions/490651

  •  20-08-2019
  •  | 
  •  

문제

예를 들어 윌 select * from table limit 0,5
최대 5 줄이나 반환
정확히 5를 찾아야하고 row_count가 5와 같지 않으면 빈 결과 세트를 반환합니까?


쿼리라면 어떨까요? select * from table limit 5?

도움이 되었습니까?

해결책

질문 SELECT * FROM table LIMIT 0,5 첫 번째 레코드에서 시작하여 5 개의 레코드를 반환합니다.

질문 SELECT * FROM table LIMIT 5 위의 쿼리와 동일한 결과를 제공합니다.

이 테이블에 5 개 미만의 레코드가 있으면 실패하지는 않지만 레코드가있는 모든 레코드를 반환합니다.

질문 SELECT * FROM table LIMIT 6,5 인덱스가 0에서 시작되면 레코드를 7,8,9,10,11로 반환합니다.

다른 팁

http://dev.mysql.com/doc/refman/5.1/en/select.html

"한계 절은 선택 문에 의해 반환 된 행의 수를 제한하는 데 사용될 수 있습니다. 한계는 하나 또는 두 개의 숫자 인수를 가져옵니다.이 숫자는 두 개의 숫자 인수 상수 (준비된 명령문을 사용할 때 제외)입니다. 두 개의 인수와 함께 첫 번째는 첫 번째입니다. 인수는 반환 할 첫 번째 행의 오프셋을 지정하고 두 번째는 다음을 지정합니다. 최대 숫자 돌아올 줄이 있습니다. "

따라서 귀하의 질문에 직접 답변하려면 돌아올 것입니다. 많으면 5 줄.

한계는 한계이므로 많은 행보다 더 많이 반환하지 않습니다. 덜 돌아올 수 있습니다.

쿼리 "선택 *에서 테이블 한계에서 0,5"0은 반환 할 최소 레코드를 지정하지 않습니다. 오프셋을 지정합니다. 따라서 0이라고 말하면 쿼리 "select * from table"이 10 개의 레코드를 반환하면 "제한 0,5"가 첫 번째 5를 반환합니다. "Limit 5,5"를 사용하면 마지막 5 개의 레코드를 반환합니다.

레코드가 2 개만 있으면 두 개의 레코드를 반환합니다. 결과가없는 경우 오류를 반환하지 않습니다. 한도는 최대 한계입니다. 최소값은 0, 심지어 0 레코드 일 수 있습니다.

"테이블 한계 5에서 선택 * 선택 * 선택 *에서 테이블 한계 0,5"와 동일합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top