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

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

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

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

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

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

Развертывание бекапов mySQL из консоли unix

Февраль 6, 2018 г.

Как развернуть дамп базы данных mySQL, созданный ранее? Дамп представляет из себя mysql скрипт, в котором последовательно создаются таблицы (CREATE TABLE ...) и, возможно, другие объекты и производиться их наполнение (INSERT INTO ...). Нужно лишь отправить ...

Читать

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

Июнь 15, 2018 г.

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

Читать

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

Ноябрь 11, 2019 г.

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

Читать

Как изменить значение AUTO_INCREMENT таблицы в MySQL

Август 3, 2022 г.

Наиболее простой ответ - это использование запроса alter, где вы задаёте новое значение для AUTO_INCREMENT нужной вам таблицы: [crayon-6a7c69d5042f7011082475/] Вы можете достичь такого же эффекта изменениями соответствующего столбца вашей таблицы: ...

Читать
 

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

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



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