Я пытаюсь изменить следующий запрос, чтобы найти ранг конкретного видеоида, и мне не повезло, может кто-нибудь предложить решение?
SELECT videoid wins/loses as win_loss,
@curRank := @curRank + 1 AS rank
FROM cb_video,
(SELECT @curRank := 0) r
ORDER BY wins/loses DESC
Я пытался создать подобный подзапрос, но он не удался:
SELECT rank
FROM (SELECT videoid wins/loses as win_loss,
@curRank := @curRank + 1 AS rank
FROM cb_video,
(SELECT @curRank := 0) r
ORDER BY wins/loses DESC)
WHERE videoid = 116
Также добавление видеоида в предложение WHERE без подзапроса просто всегда показывает ранг, являющийся позицией # 1, так как возвращает только одну строку:
SELECT videoid wins/loses as win_loss,
@curRank := @curRank + 1 AS rank
FROM cb_video,
(SELECT @curRank := 0) r
WHERE videoid = 116
ORDER BY wins/loses DESC
Есть идеи, как ограничить результат определенным идентификатором, но при этом сохранить ранг? К вашему сведению, я сохраняю два столбца (выигрывает и проигрывает), если это поможет.