Если вы хотите ранжировать только одного человека, вы можете сделать следующее:
SELECT COUNT(Age) + 1
FROM PERSON
WHERE(Age < age_to_rank)
Это ранжирование соответствует функции ORACLE RANK (Если у вас есть люди с одинаковым возрастом, они получают одинаковый ранг , и ранжирование после этого не является последовательным).
Это немного быстрее, чем использование одного из вышеперечисленных решений в подзапросе и выбор из этого для получения рейтинга одного человека.
Это можно использовать для ранжирования всех, но это медленнее, чем вышеупомянутые решения.
SELECT
Age AS age_var,
(
SELECT COUNT(Age) + 1
FROM Person
WHERE (Age < age_var)
) AS rank
FROM Person