insert into t_match_pyramid_ranking(player_id, rank)
select p.player_id, (select max(rank) + 1 from t_match_pyramid_ranking) next_rank
from t_players p
left join t_match_pyramid_ranking py on py.player_id = p.player_id
where py.ranking_id is null and active;
0
delete from t_match_pyramid_ranking
where player_id in (select p.player_id
from t_players p
left join t_match_pyramid_ranking py on py.player_id = p.player_id
where not py.ranking_id is null and not active
);
0
update t_match_pyramid_ranking py
inner join (select @num := @num + 1 new_rank, ranking_id
From t_match_pyramid_ranking r
inner join (SELECT @num := 0) AS n ON 1=1
order by rank) r
on py.ranking_id = r.ranking_id
set py.rank = r.new_rank;
0
