Я пытаюсь получить рейтинг, используя этот запрос. Таблица соединений хорошо работает с соответствующим списком. Я хочу добавить столбец для ранга. Это возможно с помощью функции RANK () или я должен использовать переменные.
SELECT ID,
user_login,
user_email,
result.score,
RANK() OVER (ORDER BY score DESC) AS rank
FROM ( SELECT u.ID,
u.display_name as user_login,
u.user_email,
answers.score
FROM wp_users u
JOIN ( SELECT SUM( CASE WHEN is_correct = 1
THEN 60-(time_taken*2)
ELSE 0
END ) AS score,
user_id,
DATE_FORMAT(answer_date,'%Y-%m-%d') as dates
FROM wp_answers
WHERE 1=1
AND '2020-02-17' = DATE_FORMAT(answer_date,'%Y-%m-%d')
GROUP BY user_id ) answers ON answers.user_id=u.ID
WHERE 1=1
ORDER BY answers.score DESC) result