Сначала попробуйте сами: на собеседовании подсказки не будет.
Ранг строки это «сколько строк с большим значением» плюс один. Коррелированный подзапрос count(*) FROM scores b WHERE b.points > a.points считает именно это для каждой строки a.
Равные значения получают одинаковый ранг автоматически (у них одинаковое число больших значений), а следующий ранг пропускается, ровно как у rank(). Сложность квадратичная, так что это приём для собеседования, а не для продакшена.
SELECT a.id, a.points, (SELECT count(*) FROM scores b WHERE b.points > a.points) + 1 AS rnk FROM scores a