]> de.git.xonotic.org Git - xonotic/xonstatdb.git/blob - scripts/refresh_active_servers_mv.sql
Update the refresh script for active servers.
[xonotic/xonstatdb.git] / scripts / refresh_active_servers_mv.sql
1 do $$
2 declare
3     cutoff timestamp := now() at time zone 'UTC' - interval '1 week';
4 begin
5     delete from active_servers_mv;
6
7     insert into active_servers_mv
8     select row_number() over (order by sum(least(g.duration, pgs.alivetime)) desc) sort_order, 
9            s.server_id, s.name, sum(least(g.duration, pgs.alivetime)) play_time
10     from servers s join games g on g.server_id = s.server_id
11     join player_game_stats pgs on g.game_id = pgs.game_id
12     where pgs.player_id > 1
13     and g.create_dt > cutoff
14     and pgs.create_dt > cutoff
15     group by s.server_id, s.name
16     order by 1;
17 end;
18 $$