]> ruin.nu Git - ndwebbie.git/blob - database/defprio.sql
501172094dc977557fc5b1f7f39c3f6bdd901d6c
[ndwebbie.git] / database / defprio.sql
1 CREATE OR REPLACE VIEW users_defprio AS
2 SELECT u.*, (0.2 * (u.attack_points / GREATEST(a.attack, 1::numeric))
3                 + 0.4 * (u.defense_points / GREATEST(a.defense, 1::numeric))
4                 + 0.2 * (p.size::numeric / a.size) + 0.05 * (p.score::numeric / a.score)
5                 + 0.15 * (p.value::numeric / a.value))::numeric(3,2) AS defprio
6 FROM users u
7         LEFT JOIN current_planet_stats p USING (pid)
8         , (
9                 SELECT avg(u.attack_points) AS attack, avg(u.defense_points) AS defense, avg(p.size) AS size, avg(p.score) AS score, avg(p.value) AS value
10                 FROM users u
11                         JOIN current_planet_stats p USING (pid)
12                 WHERE u.uid IN ( SELECT groupmembers.uid FROM groupmembers WHERE groupmembers.gid = 'M')
13         ) a;