SQL: получить место в запросе результатов - PullRequest
1 голос
/ 08 октября 2010

У меня есть таблица с именем «points», в которой есть поле «total», в котором содержится общее количество баллов за запись. Теперь я хотел бы рассчитать ранг конкретной записи.

Так как: SELECT (...) as rank FROM points WHERE id=63

Возможно ли это в SQL?

Ответы [ 2 ]

2 голосов
/ 08 октября 2010

Подсчитать строки, где точки выше + 1, и общее количество строк.

0 голосов
/ 08 октября 2010
SET @rownum := 0;
SELECT rank, total FROM (
                    SELECT @rownum := @rownum + 1 AS rank, total, id
                    FROM points  ORDER BY total DESC
                    ) as result WHERE id=63
...