@maxyc_webber
Web-программист

Mysql: Как посчитать место в рейтинге? Где ошибка?

SET @rank=0;
SELECT @rank:=@rank+1 AS rank, p.user_id, SUM(ch.integer) as sum
FROM profile p
LEFT JOIN chronometry ch ON ch.user_id = p.user_id
GROUP BY p.user_id
ORDER BY sum DESC;

Получается не верно
TWADwKe6Ad8.jpg

Подозреваю, что нумерация и сортировка происходят в разных реалиях ))
  • Вопрос задан
  • 422 просмотра
Решения вопроса 1
SET @rank=0;
SELECT @rank:=@rank+1 AS rank, s.*
FROM (
        SELECT p.user_id, SUM(ch.integer) as sum
        FROM profile p
        LEFT JOIN chronometry ch ON ch.user_id = p.user_id
        GROUP BY p.user_id
        ORDER BY sum DESC
    ) s
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы