Задать вопрос
@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

Подозреваю, что нумерация и сортировка происходят в разных реалиях ))
  • Вопрос задан
  • 435 просмотров
Подписаться 2 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 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
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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