-
Notifications
You must be signed in to change notification settings - Fork 0
/
060-gerryRank.sql
34 lines (28 loc) · 1.67 KB
/
060-gerryRank.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
UPDATE gerry.gerry AS w INNER JOIN (
SELECT rok, gmina, lista, RANK() OVER (PARTITION BY rok, gmina ORDER BY glos DESC) AS rnk FROM gerry.gerry
) AS x ON x.rok = w.rok AND x.gmina = w.gmina AND x.lista = w.lista
SET w.rankGlos = x.rnk;
UPDATE gerry.gerry AS w INNER JOIN (
SELECT rok, gmina, lista, RANK() OVER (PARTITION BY rok, gmina ORDER BY mandatow DESC) AS rnk FROM gerry.gerry
) AS x ON x.rok = w.rok AND x.gmina = w.gmina AND x.lista = w.lista
SET w.rankMan = x.rnk;
UPDATE gerry.gerry AS w INNER JOIN (
SELECT rok, gmina, lista, RANK() OVER (PARTITION BY rok, gmina ORDER BY okr DESC) AS rnk FROM gerry.gerry
) AS x ON x.rok = w.rok AND x.gmina = w.gmina AND x.lista = w.lista
SET w.rankOkr = x.rnk;
UPDATE gerry.gerry AS w INNER JOIN (
SELECT rok, gmina, lista, RANK() OVER (PARTITION BY rok, gmina ORDER BY mandatow + cUnopp DESC) AS rnk FROM gerry.gerry
) AS x ON x.rok = w.rok AND x.gmina = w.gmina AND x.lista = w.lista
SET w.rankManU = x.rnk;
UPDATE gerry.gerry AS w INNER JOIN (
SELECT rok, gmina, lista, RANK() OVER (PARTITION BY rok, gmina ORDER BY okr + cUnopp DESC) AS rnk FROM gerry.gerry
) AS x ON x.rok = w.rok AND x.gmina = w.gmina AND x.lista = w.lista
SET w.rankOkrU = x.rnk;
UPDATE gerry.gerry AS w INNER JOIN (
SELECT rok, gmina, lista, RANK() OVER (PARTITION BY rok, gmina ORDER BY v DESC) AS rnk FROM gerry.gerry WHERE okr > 0
) AS x ON x.rok = w.rok AND x.gmina = w.gmina AND x.lista = w.lista
SET w.rankV = x.rnk;
UPDATE gerry.gerry AS w INNER JOIN (
SELECT rok, gmina, lista, RANK() OVER (PARTITION BY rok, gmina ORDER BY s DESC, v DESC) AS rnk FROM gerry.gerry WHERE okr > 0
) AS x ON x.rok = w.rok AND x.gmina = w.gmina AND x.lista = w.lista
SET w.rankS = x.rnk;