2014-09-09 6 views
-1

У меня проблема с использованием инструкции SQL LIMIT. У меня есть 21 запись, хранящаяся в базе данных, и я хочу получить результаты кусочно. Я написал этот вопрос:Ограничение SQL дает плохие результаты

"SELECT * FROM table JOIN another_table ON XXX = YYY WHERE XXX = ? ORDER BY col DESC LIMIT ?, ?" 

Вот Количество строк, которые я получаю, когда я использую эти значения:

LIMIT: 0 .. 10 ---> num of rows 10  -> Correct 
LIMIT: 10 .. 20 ---> num of rows 11  -> Incorrect 
LIMIT: 20 .. 30 ---> num of rows 0  -> Incorrect 

код используется в функции PHP и для операций с базами данных я использую класс PDOStatement, но это ошибка также проявляется в использовании класса MySQLi.

Кто-нибудь знает, где проблема?

+0

LIMIT не принимает значения, как 'LIMIT [от] [к]' – Class

ответ

5

Когда вы говорите:

LIMIT X, Y 

Вы говорите X это смещение и Y является счетчиком. Чего вы хотите:

LIMIT 0, 10 
LIMIT 10, 10 
LIMIT 20, 10 

или используйте OFFSET ключевое слово и использование:

LIMIT 10 OFFSET 0 
LIMIT 10 OFFSET 10 
LIMIT 10 OFFSET 20 
+0

решенный. Моя ошибка, я запаниковал. Спасибо:) – JARDA001

Смежные вопросы