у меня есть таблица, содержащая пользователя, счет и время.
Я должен показать рейтинг в соответствии с оценкой, и если счет равен количеству очков, время является фактором, определяющим соотношение голосов. Пользователь с меньшим количеством времени должен быть на вершине.
query=SELECT user_id, total_marks, total_time, @curRank := @curRank + 1 AS rank FROM lang_totalset_marks ltm, (SELECT @curRank := 0) ra ORDER BY total_marks DESC .
это единственный рейтинг в соответствии с оценками, и мне нужно распределить его по времени, если счет ничейный.
Я не уверен, почему вопрос был настолько опущен (но я вижу, что это было отредактировано). Однако решение состоит в том, чтобы просто включить столбец времени в order by
:
SELECT user_id, total_marks, total_time, @curRank := @curRank + 1 AS rank
FROM lang_totalset_marks ltm CROSS JOIN
(SELECT @curRank := 0) params
ORDER BY total_marks DESC, total_time DESC;
Других решений пока нет …