Считаем полное число строк в запросе MySQL, ограниченного LIMIT

О полезном операторе — SQL_CALC_FOUND_ROWS. Это конструкция просто незаменима для организации постраничного вывода каких либо данных. Все время забываю синтаксис, приходится каждый раз искать. Решил записать в блоге, чтобы уж не терять :).

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

В PHP это будет как то так:

Ещё одна вещь в копилку know-how. Без использования этого метода пришлось бы, к примеру, дважды выполнить SQL запрос. Например, первый раз посчитать число строк, а вторым запросом выбрать нужную порцию (используя секцию LIMIT). Ну, или выполнить только тот запрос, у которого нет секции LIMIT и, используя mysql_data_seek, выбрать нужную порцию данных.

Мало букафф? Читайте есчо !

Нумерация при выборке строк в mySQL

Апрель 24, 2023 г.

В MSSQL есть функция ROW_NUMBER(), которая нумерует строки выборки. В MySQL такой функции пока нет, но мы можем использовать трюк с переменными для достижения нужного эффекта. К примеру, вы хотите выбрать название книг и пронумеровать список. Изначально ...

Читать

Urlencode расширенная практика применения

Февраль 8, 2017 г.

UrlEncode - php-функция, которая подготавливает значение для использования его как часть html ссылки, заменяя спец. символы, кириллицу и т.п. на закодированные ...

Читать

Base Auth в PHP

Ноябрь 17, 2022 г.

Рассмотрим здесь вариации с выполнением base auth. Как оказывается из опыта работы с некоторыми API, они не являются эквивалентными. И одна форма запроса может не работать, в то время как другая будет выполняться. Задача следующая - получить содержимое ...

Читать

Можно ли вызвать статический метод trait в php, не подключая его к какому то классу?

Май 27, 2025 г.

Если коротко - нельзя. Вызвать какой метод трейта напрямую без подключения его к классу невозможно, т.к. трейты в PHP не являются самостоятельными сущностями, как классы или объекты. Трейт — это механизм "вклейки" кода в класс. Он не компилируется ...

Читать
 

Комментарии к «Считаем полное число строк в запросе MySQL, ограниченного LIMIT»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: