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

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

К примеру, вы хотите выбрать название книг и пронумеровать список. Изначально запрос выглядит как то так:

Так как специализированной функции нет, используем в запросе переменную.

Подзапрос (SELECT @count := 0) выполняет роль не только инициализации переменной @count, но так же и временного хранилища.

Если вы попробуете избавиться от подзапроса, например так:

то нужного эффекта достичь не удастся, т.к. переменная будет создаваться для каждой строки независимо и все строки получат номер 1.

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

Ошибка MySQL Incorrect datetime value: '0000-00-00 00:00:00'

Февраль 16, 2023 г.

Появляется, если поле типа datetime уже содержит подобные нулевые значения при попытке изменить как тип поля (через alter table), так и сами значения в таблице. Вероятно ошибка возникает, если вы импортировали данные в вашу базу. Скорее всего из-за ...

Читать

Как узнать версию MySQL?

Сентябрь 3, 2018 г.

Получить версию бд можно как из консоли, так и средствами языка mySQL. Версия из консоли UNIX Тут все просто. Получаем версию из консоли. [crayon-6a64742e3c37d752031430/] Версия из SQL консоли Как получить версию mySQL не из unix консоли, а средствами ...

Читать

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

Ноябрь 11, 2019 г.

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

Читать

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

Ноябрь 2, 2012 г.

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

Читать
 

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

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



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