Нумеруем строки в результатах mySQL

Для mySQL 8й версии эта статья не актуальна, т.к. там появилась целая серия замечательных функций, в том числе ROW_NUMBER(). Но пока на значительном количестве хостингов используется 5я версия.

Приём прост: требуется объявить переменную и инкрементировать её прямо в выражении SELECT.

К примеру, мы выводим список заголовков статей и хотим пронумеровать список:

Все отлично, пока мы не сортируем строки. Т.к. сортировка производится после выборки, то номера строк последуют за своими строками.

Поэтому нумерацию нужно производить с использованием вложенного запроса:

Во вложенном запросе вы выполняете всю работу — выборку, сортировку, агрегацию. А в основном запросе — только нумерацию и вывод столбцов.

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

Аналог strpos в mySQL

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

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

Читать

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

Август 3, 2022 г.

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

Читать

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

Июнь 15, 2018 г.

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

Читать

Создание бекапов базы mySQL из консоли unix

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

Ещё одна шпаргалка по администрированию UNIX серверов. На этот раз рассмотрим несколько полезных команд для создания бекапа базы данных из консоли. Нам понадобится команда mysqldump, которая позволяет создавать sql скрипт базы или её части. Создание ...

Читать
 

Комментарии к «Нумеруем строки в результатах mySQL»

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



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