mirror of
https://github.com/edgegamers/poor-sharptimer.git
synced 2025-12-06 04:42:48 -08:00
Update migration
This commit is contained in:
@@ -1,103 +1,105 @@
|
|||||||
CREATE VIEW IF NOT EXISTS MapCompletions AS
|
CREATE VIEW IF NOT EXISTS cs2_surf.MapCompletions AS
|
||||||
select `PlayerRecords`.`MapName` AS `MapName`,
|
SELECT `PlayerRecords`.`MapName` AS `MapName`,
|
||||||
sum(`PlayerRecords`.`TimesFinished`) AS `Completions`
|
SUM(`PlayerRecords`.`TimesFinished`) AS `Completions`
|
||||||
from `PlayerRecords`
|
FROM `PlayerRecords`
|
||||||
group by `PlayerRecords`.`MapName`;
|
GROUP BY `PlayerRecords`.`MapName`;
|
||||||
|
|
||||||
CREATE VIEW IF NOT EXISTS MapWRs AS
|
CREATE VIEW IF NOT EXISTS cs2_surf.MapWRs AS
|
||||||
select `Map`.`MapName` AS `MapName`,
|
SELECT `Map`.`MapName` AS `MapName`,
|
||||||
greatest(`TP`.`MaxPoints`,
|
GREATEST(`TP`.`MaxPoints`,
|
||||||
coalesce(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
COALESCE(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
||||||
`TP`.`MaxPoints`)) AS `WR`,
|
`TP`.`MaxPoints`)) AS `WR`,
|
||||||
greatest(`TP`.`MaxPoints`,
|
GREATEST(`TP`.`MaxPoints`,
|
||||||
coalesce(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
COALESCE(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
||||||
`TP`.`MaxPoints`)) * 0.8 AS `Rank2`,
|
`TP`.`MaxPoints`)) * 0.8 AS `Rank2`,
|
||||||
greatest(`TP`.`MaxPoints`,
|
GREATEST(`TP`.`MaxPoints`,
|
||||||
coalesce(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
COALESCE(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
||||||
`TP`.`MaxPoints`)) * 0.75 AS `Rank3`,
|
`TP`.`MaxPoints`)) * 0.75 AS `Rank3`,
|
||||||
greatest(`TP`.`MaxPoints`,
|
GREATEST(`TP`.`MaxPoints`,
|
||||||
coalesce(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
COALESCE(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
||||||
`TP`.`MaxPoints`)) * 0.7 AS `Rank4`,
|
`TP`.`MaxPoints`)) * 0.7 AS `Rank4`,
|
||||||
greatest(`TP`.`MaxPoints`,
|
GREATEST(`TP`.`MaxPoints`,
|
||||||
coalesce(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
COALESCE(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
||||||
`TP`.`MaxPoints`)) * 0.65 AS `Rank5`,
|
`TP`.`MaxPoints`)) * 0.65 AS `Rank5`,
|
||||||
greatest(`TP`.`MaxPoints`,
|
GREATEST(`TP`.`MaxPoints`,
|
||||||
coalesce(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
COALESCE(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
||||||
`TP`.`MaxPoints`)) * 0.6 AS `Rank6`,
|
`TP`.`MaxPoints`)) * 0.6 AS `Rank6`,
|
||||||
greatest(`TP`.`MaxPoints`,
|
GREATEST(`TP`.`MaxPoints`,
|
||||||
coalesce(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
COALESCE(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
||||||
`TP`.`MaxPoints`)) * 0.55 AS `Rank7`,
|
`TP`.`MaxPoints`)) * 0.55 AS `Rank7`,
|
||||||
greatest(`TP`.`MaxPoints`,
|
GREATEST(`TP`.`MaxPoints`,
|
||||||
coalesce(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
COALESCE(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
||||||
`TP`.`MaxPoints`)) * 0.5 AS `Rank8`,
|
`TP`.`MaxPoints`)) * 0.5 AS `Rank8`,
|
||||||
greatest(`TP`.`MaxPoints`,
|
GREATEST(`TP`.`MaxPoints`,
|
||||||
coalesce(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
COALESCE(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
||||||
`TP`.`MaxPoints`)) * 0.45 AS `Rank9`,
|
`TP`.`MaxPoints`)) * 0.45 AS `Rank9`,
|
||||||
greatest(`TP`.`MaxPoints`,
|
GREATEST(`TP`.`MaxPoints`,
|
||||||
coalesce(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
COALESCE(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
||||||
`TP`.`MaxPoints`)) * 0.4 AS `Rank10`,
|
`TP`.`MaxPoints`)) * 0.4 AS `Rank10`,
|
||||||
greatest(`TP`.`MaxPoints`,
|
GREATEST(`TP`.`MaxPoints`,
|
||||||
coalesce(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
COALESCE(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
||||||
`TP`.`MaxPoints`)) * 0.25 AS `Group1`,
|
`TP`.`MaxPoints`)) * 0.25 AS `Group1`,
|
||||||
greatest(`TP`.`MaxPoints`,
|
GREATEST(`TP`.`MaxPoints`,
|
||||||
coalesce(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
COALESCE(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
||||||
`TP`.`MaxPoints`)) * 0.25 / 1.5 AS `Group2`,
|
`TP`.`MaxPoints`)) * 0.25 / 1.5 AS `Group2`,
|
||||||
greatest(`TP`.`MaxPoints`,
|
GREATEST(`TP`.`MaxPoints`,
|
||||||
coalesce(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
COALESCE(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
||||||
`TP`.`MaxPoints`)) * 0.25 / 2.25 AS `Group3`,
|
`TP`.`MaxPoints`)) * 0.25 / 2.25 AS `Group3`,
|
||||||
greatest(`TP`.`MaxPoints`,
|
GREATEST(`TP`.`MaxPoints`,
|
||||||
coalesce(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
COALESCE(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
||||||
`TP`.`MaxPoints`)) * 0.25 / 3.375 AS `Group4`,
|
`TP`.`MaxPoints`)) * 0.25 / 3.375 AS `Group4`,
|
||||||
greatest(`TP`.`MaxPoints`,
|
GREATEST(`TP`.`MaxPoints`,
|
||||||
coalesce(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
COALESCE(`TP`.`BasePoints` + `TP`.`CompletionPoints` * `Map`.`Completions` / `TP`.`Divider`,
|
||||||
`TP`.`MaxPoints`)) * 0.25 / 5.0625 AS `Group5`
|
`TP`.`MaxPoints`)) * 0.25 / 5.0625 AS `Group5`
|
||||||
from ((`MapCompletions` `Map` join `MapTiers` `MT`
|
FROM ((`MapCompletions` `Map` JOIN `MapTiers` `MT`
|
||||||
on (`Map`.`MapName` = `MT`.`MapName`)) join `TierPoints` `TP` on (`MT`.`Tier` = `TP`.`Tier`));
|
ON (`Map`.`MapName` = `MT`.`MapName`)) JOIN `TierPoints` `TP` ON (`MT`.`Tier` = `TP`.`Tier`));
|
||||||
|
|
||||||
CREATE VIEW IF NOT EXISTS PlayerPoints AS
|
CREATE VIEW IF NOT EXISTS cs2_surf.PlayerRanks AS
|
||||||
select `Ranks`.`SteamID` AS `SteamID`,
|
SELECT `PlayerRecords`.`MapName` AS `MapName`,
|
||||||
|
`PlayerRecords`.`SteamID` AS `SteamID`,
|
||||||
|
RANK() OVER ( PARTITION BY `PlayerRecords`.`MapName` ORDER BY `PlayerRecords`.`TimerTicks`) AS `Rank`,
|
||||||
|
PERCENT_RANK() OVER ( PARTITION BY `PlayerRecords`.`MapName` ORDER BY `PlayerRecords`.`TimerTicks`) AS `Percentile`
|
||||||
|
FROM `PlayerRecords`
|
||||||
|
WHERE `PlayerRecords`.`Style` = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CREATE VIEW IF NOT EXISTS cs2_surf.PlayerPoints AS
|
||||||
|
SELECT `Ranks`.`SteamID` AS `SteamID`,
|
||||||
`MT`.`MapName` AS `MapName`,
|
`MT`.`MapName` AS `MapName`,
|
||||||
`Ranks`.`Percentile` AS `Percentile`,
|
`Ranks`.`Percentile` AS `Percentile`,
|
||||||
case
|
CASE
|
||||||
when `Ranks`.`Percentile` < 0.5 then case `Ranks`.`Rank`
|
WHEN `Ranks`.`Percentile` < 0.5 THEN CASE `Ranks`.`Rank`
|
||||||
when 1 then `MWR`.`WR`
|
WHEN 1 THEN `MWR`.`WR`
|
||||||
when 2 then `MWR`.`Rank2`
|
WHEN 2 THEN `MWR`.`Rank2`
|
||||||
when 3 then `MWR`.`Rank3`
|
WHEN 3 THEN `MWR`.`Rank3`
|
||||||
when 4 then `MWR`.`Rank4`
|
WHEN 4 THEN `MWR`.`Rank4`
|
||||||
when 5 then `MWR`.`Rank5`
|
WHEN 5 THEN `MWR`.`Rank5`
|
||||||
when 6 then `MWR`.`Rank6`
|
WHEN 6 THEN `MWR`.`Rank6`
|
||||||
when 7 then `MWR`.`Rank7`
|
WHEN 7 THEN `MWR`.`Rank7`
|
||||||
when 8 then `MWR`.`Rank8`
|
WHEN 8 THEN `MWR`.`Rank8`
|
||||||
when 9 then `MWR`.`Rank9`
|
WHEN 9 THEN `MWR`.`Rank9`
|
||||||
when 10 then `MWR`.`Rank10` end
|
WHEN 10 THEN `MWR`.`Rank10` END
|
||||||
else case
|
ELSE CASE
|
||||||
when `Ranks`.`Percentile` < 0.03125 then `MWR`.`Group1`
|
WHEN `Ranks`.`Percentile` < 0.03125 THEN `MWR`.`Group1`
|
||||||
when `Ranks`.`Percentile` < 0.06250 then `MWR`.`Group2`
|
WHEN `Ranks`.`Percentile` < 0.06250 THEN `MWR`.`Group2`
|
||||||
when `Ranks`.`Percentile` < 0.12500 then `MWR`.`Group3`
|
WHEN `Ranks`.`Percentile` < 0.12500 THEN `MWR`.`Group3`
|
||||||
when `Ranks`.`Percentile` < 0.25000 then `MWR`.`Group4`
|
WHEN `Ranks`.`Percentile` < 0.25000 THEN `MWR`.`Group4`
|
||||||
when `Ranks`.`Percentile` < 0.50000 then `MWR`.`Group5`
|
WHEN `Ranks`.`Percentile` < 0.50000 THEN `MWR`.`Group5`
|
||||||
else 0 end end + case `MT`.`Tier`
|
ELSE 0 END END + CASE `MT`.`Tier`
|
||||||
when 1 then 25
|
WHEN 1 THEN 25
|
||||||
when 2 then 50
|
WHEN 2 THEN 50
|
||||||
when 3 then 100
|
WHEN 3 THEN 100
|
||||||
when 4 then 200
|
WHEN 4 THEN 200
|
||||||
when 5 then 400
|
WHEN 5 THEN 400
|
||||||
when 6 then 600
|
WHEN 6 THEN 600
|
||||||
when 7 then 800
|
WHEN 7 THEN 800
|
||||||
when 8 then 1000 end AS `Points`
|
WHEN 8 THEN 1000 END AS `Points`
|
||||||
from ((`PlayerRanks` `Ranks` join `MapWRs` `MWR`
|
FROM ((`PlayerRanks` `Ranks` JOIN `MapWRs` `MWR`
|
||||||
on (`Ranks`.`MapName` = `MWR`.`MapName`)) join `MapTiers` `MT` on (`MWR`.`MapName` = `MT`.`MapName`));
|
ON (`Ranks`.`MapName` = `MWR`.`MapName`)) JOIN `MapTiers` `MT` ON (`MWR`.`MapName` = `MT`.`MapName`));
|
||||||
|
|
||||||
CREATE VIEW IF NOT EXISTS PlayerRanks AS
|
CREATE VIEW IF NOT EXISTS cs2_surf.PlayerLeaderboard AS
|
||||||
select `PlayerRecords`.`MapName` AS `MapName`,
|
SELECT `PP`.`SteamID` AS `SteamID`, `PR`.`PlayerName` AS `PlayerName`, SUM(`PP`.`Points`) AS `GlobalPoints`
|
||||||
`PlayerRecords`.`SteamID` AS `SteamID`,
|
FROM (`PlayerPoints` `PP` JOIN `PlayerRecords` `PR` ON (`PP`.`SteamID` = `PR`.`SteamID`))
|
||||||
rank() over ( partition by `PlayerRecords`.`MapName` order by `PlayerRecords`.`TimerTicks`) AS `Rank`,
|
GROUP BY `PP`.`SteamID`;
|
||||||
percent_rank() over ( partition by `PlayerRecords`.`MapName` order by `PlayerRecords`.`TimerTicks`) AS `Percentile`
|
|
||||||
from `PlayerRecords`
|
|
||||||
where `PlayerRecords`.`Style` = 0;
|
|
||||||
|
|
||||||
CREATE VIEW IF NOT EXISTS PlayerLeaderboard AS
|
|
||||||
select `PP`.`SteamID` AS `SteamID`, `PR`.`PlayerName` AS `PlayerName`, sum(`PP`.`Points`) AS `GlobalPoints`
|
|
||||||
from (`PlayerPoints` `PP` join `PlayerRecords` `PR` on (`PP`.`SteamID` = `PR`.`SteamID`))
|
|
||||||
group by `PP`.`SteamID`;
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user