Какие строки возвращаются при использовании LIMIT with OFFSET в MySQL?



в запросе ниже:



SELECT column 
FROM table
LIMIT 18 OFFSET 8


сколько результатов мы получим в качестве выходных и откуда куда?

421   4  

4 ответов:

он вернет 18 результатов, начиная с записи №9 и заканчивая записью № 26.

начните с чтения запроса из offset. Сначала вы смещаете на 8, что означает, что вы пропускаете первые 8 результатов запроса. Тогда вы ограничиваетесь 18. Значит вы считаете записей 9, 10, 11, 12, 13, 14, 15, 16....24, 25, 26, которые в общей сложности 18 записей.

Регистрация этой выход.

и официальная документация.

OFFSET это не что иное, как ключевое слово для указания начального курсора в таблице

SELECT column FROM table LIMIT 18 OFFSET 8 -- fetch 18 records, begin with record 9 (OFFSET 8)

вы получите тот же результат формы

SELECT column FROM table LIMIT 8, 18

визуальное представление (R это одна запись в таблице в некотором порядке)

 OFFSET        LIMIT          rest of the table
 __||__   _______||_______   __||__
/      \ /                \ /
RRRRRRRR RRRRRRRRRRRRRRRRRR RRRR...
         \________________/
                 ||
             your result

предложение LIMIT используется для ограничения количества результатов, возвращаемых в инструкции SQL. Так что если у вас есть 1000 строк в таблице, но вы хотите вернуть только первые 10, вы должны сделать что-то вроде этого:

SELECT column 
FROM table
LIMIT 10

это похоже на предложение TOP на Microsoft SQL Server. Однако предложение LIMIT всегда идет в конце запроса на MySQL и PostgreSQL.

теперь предположим, что вы хотите показать результаты 11-20. С помощью ключевого слова OFFSET его так же просто, следующее запрос будет делать:

SELECT column FROM table
LIMIT 10
OFFSET 10

вы получите вывод от column значение от 9 до 26, Как вы упомянули OFFSET Как 8

Comments

    Ничего не найдено.