Я пишу телеграмм бота по типу викторины. У меня есть таблица PostgreSQL в которой есть id (SERIAL), user_id пользователя телеграмм, количество ответов всего, правильных и неправильных. Мне нужно показать пользователю его место в общем списке по количеству правильных ответов. Но я не знаю как это реализовать. Я пробовал делать запрос вот такого типа:
SELECT user_id, row_number() OVER(ORDER BY right DESC) as number FROM users
Но он выдает всю таблицу, а мне нужно только по одному пользователю. Также я пробовал делать вот так:
SELECT user_id, row_number() OVER(ORDER BY right DESC) as number FROM users WHERE user_id=%s
Но он всегда выдает число 1, потому что ищет количество правильных ответов только по этому юзеру.
Получается, надо сначала отсортировать таблицу и пронумировать её, а потом получить номер строки в которой user_id=%s
Не подскажите как это реализовать?