Я использую ниже для системы турниров.Таблица содержит зарегистрированные длины для всех команд.Результатом будет табло, суммирующее длину всех команд в totalScore.
Я пытаюсь включить функцию RANK () в свой SQL, но я застрял прямо сейчас.Я хочу получить текущий рейтинг команд из моей базы данных.У кого-нибудь есть идеи?Я использую MariaDB.
select team, sum(length) as totalScore
from
(SELECT t.*,
@num_in_group:=case when @team!=team then @num_in_group:=0 else @num_in_group:=@num_in_group+1 end as num_in_group,
@team:=team as t
FROM reg_catches t, (select @team:=-1, @num_in_group:=0) init
ORDER BY team asc, length desc) sub
WHERE sub.num_in_group<=4
GROUP BY team
ORDER BY totalScore DESC;
Таблица
team length
-----------
26 70
25 70
25 95
25 98
25 100
25 100
25 100
25 122
Токовый выход
team totalScore
-- --
25 520
26 70
Требуемый выход
rank team totalScore
-- -- --
1 25 520
2 26 70