I have a query on MySQL database working in a such way that I get this result:
> Rank Gold Silver Bronze Total
> 1 76 78 77 231
> 2 4 5 6 15
> 3 4 1 1 6
> 4 3 0 0 3
> 5 2 1 1 4
> 5 2 1 1 4
> 6 2 0 0 2
> 7 1 1 1 3
> 8 1 1 0 2
> 9 1 0 2 3
> 9 1 0 2 3
> 9 1 0 2 3
> 10 0 1 0 1
The query from which I get this result is the following (I hide the main query not to wright too much code):
select
CASE
WHEN (@Gold=T.Gold and @Silver=T.Silver and @Bronze=T.Bronze) THEN @rownum ELSE @rownum:=@rownum+1 end as Rank,
(@Gold:=T.Gold) Gold,
(@Silver:=T.Silver) Silver,
(@Bronze:=T.Bronze) Bronze,
T.Total
from
(MAIN_QUERY) T,
(SELECT @rownum:=0) r,
(SELECT @Gold:=0) g,
(SELECT @Silver:=0) s,
(SELECT @Bronze:=0) b
order by Gold desc, Silver DESC, Bronze DESC
But instead the reuslt above, I'd like to adjust the Rank coloumn (and my query) increasing it depending on the duplicated previous rows, i.e.:
> Rank Gold Silver Bronze Total
> 1 76 78 77 231
> 2 4 5 6 15
> 3 4 1 1 6
> 4 3 0 0 3
> 5 2 1 1 4
> 5 2 1 1 4
> 7 2 0 0 2
> 8 1 1 1 3
> 9 1 1 0 2
> 10 1 0 2 3
> 10 1 0 2 3
> 10 1 0 2 3
> 13 0 1 0 1
and so on. Can you help me to get this result?