Порядковый номер строки в запрсе

dEn

Новичок
Порядковый номер строки в запрсе

Есть таблица:

id name points
1 Вася 35
2 Коля 47
3 Петя 82
4 Дима 21

Есть запрос
SELECT * FROM rating ORDER BY points DESC
Т.е. получаем некий рейтинг пользователей.

Вопрос: можно ли получить одним запросом позицию конкретного пользователя в рейтинге?
Т.е. чтоб "SELECT ..... WHERE id=1 ..." вернуло 3.
 

dEn

Новичок
Прошу прощения.
Слегка упростил задачу. Для этой ситуации нашел решение.

На самом деле интересует вопрос:
Как узнать порядковый номер строки в результате запроса?

Реально ситуация такая:
Есть таблица quick_stat
id int
game_id int
team_id int
task_id int
codes_quant int

Есть запрос:
SELECT team_id FROM quick_stat ORDER BY task_id DESC, codes_quant DESC

Результатом запроса будет список команд в соответствии с позицией в игре.


Задача: с минимальной нагрузкой на сервер получить позицию заданой (team_id) команды.
 

dEn

Новичок
что скажете про такой вариант:

SET @_row_number = 0;

SELECT _row_number FROM (SELECT team_id,(@_row_number := @_row_number + 1) AS _row_number FROM game_qstat ORDER BY task_number DESC,codes_quant DESC) AS positions WHERE team_id=5

Велика ли нагрузка на сервер?
Подзапросы поддерживаются начиная с версии MySQL 4.1?
 
Сверху