Как получить номер строки в MySql?

Что делать, если нужно пронумеровать строки прямо в запросе? Полистав руководство MySql 5.5, нужной функции я не нашел.

Мне нужно было сохранять позиции пользователей в рейтинге, т.е. пронумеровать пользователей в зависимости от значения их рейтинга.

Используя PHP

Если совсем не думать, то можно загрузить рейтинг в PHP, получить порядковый номер строк, и сохранить эти позиции в базу.

(Структура данных в данном случае абстрактна) это будет выглядеть как серия запросов:

Получится множество запросов под управлением программы на PHP. Если немного подумать, то тоже самое можно сделать без PHP и всего одним запросом.

Без использования PHP

Используем переменную для вычисления позиции при запросе данных

Для каждой строки MySql выполнит расчет позиции, так мы получим нужное значение POSITION (фактически, пронумеруем строки).

Встроим это сразу в UPDATE:

Написать комментарий

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

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

Ноябрь 2, 2012 г.

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

Читать

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

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

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

Читать

 

Комментарии к «Как получить номер строки в MySql?»

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



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

Много комментариев в “Как получить номер строки в MySql?”

  1. Владимир:

    Если бы автор попробовал сам, то обнаружил бы, что на SQL не работает.

    • Автор, уверяю, не просто пробовал, а использовал данный подход. Скорее всего, у вас что то не получилось в конкретной реализации.