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

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

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

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

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

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

Mysqldump без блокировки таблиц

Ноябрь 11, 2019 г.

По умолчанию для mysqldump требуются права пользователя на блокировку таблиц. Потому, когда вы создаёте бекапы, вы можете получить сообщение вроде: mysqldump: Got error: 1044: "Access denied for user 'USER'@'%' to database 'DATABASENAME'" when ...

Читать

Аналог strpos в mySQL

Февраль 4, 2019 г.

Недавно обнаружил, что в mySQL целых три аналога PHP функции strpos. INSTR(str,substr) - возвращает индекс первого найденного совпадения substr ...

Читать

Получить разницу дат в секундах в MySQL

Июнь 15, 2018 г.

Для начала выберем функцию с подходящей гранулярностью. DATEDIFF явно не подходит, т.к. даёт разницу в кол-ве целых дней. К счастью, есть аналогичная функция - TIMEDIFF, которая вычисляет разницу с точностью до микросекунд. Результат работы TIMEDIFF ...

Читать

Создать пользователя MySQL и выдать ему права на базу данных

Июль 20, 2023 г.

Обычно для этого требуется выполнить две команды - создать пользователя, выдать права. Создание пользователя MySQL Для нашей цели достаточно выполнить следующую команду: [crayon-6ac444e1da184181321091/] Где new-user-name - имя нового пользователя, ...

Читать
 

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

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



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