세트, 리턴 100752 (있는 경우). 그러나 나는 완전히 다른 기록, 즉 얻을 : MySQL의 LIMIT는 incorect 행
내가 기록을 내가 쿼리를 다시 실행 그래서 존재 확인, 내가 알고있는 기록이 시간이 거기 예 :
SELECT idx, date_added FROM my_table ORDER BY idx ASC LIMIT 102366, 10
아직 I 다음과 같은 일치하지 않는 행을 다시 얻으십시오.
나는 아마 어리석은 일을하고 있어요 알고있다. 도움말 감사.
편집/업데이트 : 다음 제안 사항 중 일부를 수행하고 LIMIT 기능 대신 특정 WHERE 조건을 사용하여 결과를 테스트했습니다. 아래 결과를 참조하십시오. 두 쿼리 모두 동일한 결과를 반환해야합니다.
TEST 1 :
SELECT idx, date_added FROM attachments ORDER BY idx ASC LIMIT 67805, 20
TEST 2 :
SELECT
idx, date_added
FROM attachments
WHERE
idx >=67805 and idx <67825
ORDER BY idx ASC
나는 둘 다 똑같을 것으로 기대하지만 이것은 사실이 아닙니다.
해결 방법 : LIMIT는 기본 자동 증가 키를 고려하지 않습니다. idx가 SORTed 인 경우에도 행 수에 관계 없습니다 (일부 인덱스가 누락 된 경우). 삭제 된 행 수에 따라 결과가 오프셋됩니다. 모두들.
실행 :'최대 (IDX)는, attachments'에서 (*) 계산 결과 – RIKI
@OTARIKI 예를 들으 참조 선택하고 그 아무 것도 반환하지 않습니다! WTH? – Milan
@ 구르병 당신은 심각한가요? – Milan