Я создаю приложение, где пользователи делают тренировки. Они передают свои результаты через приложение, и эти результаты сохраняются в базе данных SQL Server. Результаты сохраняются таким образом в таблице SQL Server:
Я хочу написать запрос для создания рейтинга, основанного на лучшем балле каждого пользователя. Это то, что у меня есть (спасибо этому сообщению ):
SELECT id, workout_id, level_id, user_id, total_time, score, datetime_added
FROM nodefit_rankings_fitness nrf
WHERE nrf.id = (SELECT TOP (1) nrf2.id
FROM nodefit_rankings_fitness nrf2
WHERE nrf2.user_id = nrf.user_id
ORDER BY nrf2.score DESC
)
ORDER BY score DESC, datetime_added DESC;
При этом создается рейтинг, основанный на лучшем балле для пользователя:
Когда определенный пользователь отправляет новую тренировку, я хочу проверить его рейтинг на основе последней отправленной тренировки по сравнению с лучшими показателями других пользователей. Итак, предположим, что user_id 2 добавляет новую тренировку, и его оценка, скажем, 12, каков его текущий рейтинг на основе этой новой производительности? В этом случае он занимает второе место в этой таблице. Благодаря.