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

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

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

Используя PHP

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

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

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

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

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

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

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

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

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

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

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

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

Читать

Сортировка результатов при использовании DISTINCT в MySql

Май 15, 2016 г.

Есть один феномен, связанный с внутренней сортировкой в mySQL, которая служит для реализации функционала DISTINCT (выбора уникальных значений). Если вы ...

Читать

 

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

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



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

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

  1. Владимир:

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

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