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

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

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

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

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

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

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

См. также другую вариацию этого запроса.

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

Экспорт данных из PostgreSQL в MySQL

Март 19, 2017 г.

Можно действовать разными способами, в зависимости от ситуации. Мне требовалось вытащить данные из проекта на Python/Django/PostgreSQL, чтобы потом экспортировать ...

Читать

Вывод размеров таблиц в Mb, используя information_schema

Май 10, 2019 г.

Если вы пользуетесь phpMyAdmin или похожим менеджером баз данных, то привыкли видеть размеры таблиц в списке. Порою, нет возможности установить дополнительные инструменты на сервер, но это не страшно, т.к. требуемую информацию получить не сложно. ...

Читать

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

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

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

Читать

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

Ноябрь 11, 2019 г.

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

Читать
 

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

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



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