Мне нужно отобразить рейтинг пользователя, для которого я планирую использовать функцию Rank () в SQL Server.Запрос Sql для получения ранга выглядит следующим образом:
select a.user_id, RANK() OVER (ORDER BY (a.quant_points) DESC) AS QRANK,
RANK() OVER (ORDER BY (a.verbal_points) DESC) AS VRANK,
RANK() OVER (ORDER BY (a.dilr_points) DESC) AS DRANK,
RANK() OVER (ORDER BY (a.quant_points+a.verbal_points+a.dilr_points) DESC) AS ORANK
from users a
Однако я хочу получить рейтинг только определенного пользователя.Если я добавлю предложение where (где user_id = @user_id) к вышеупомянутому, тогда все ранги будут показаны как 1.
Так что, по сути, я должен запросить вышеуказанный набор результатов, рассматривая его как таблицу.Я думал о создании временной таблицы, но чувствовал, что могли бы быть лучшие способы достигнуть этого.