diff options
| author | Kapil Viren Ahuja <k.v.ahuja@gmail.com> | 2017-03-01 20:07:31 +0530 |
|---|---|---|
| committer | Kapil Viren Ahuja <k.v.ahuja@gmail.com> | 2017-03-01 20:07:31 +0530 |
| commit | 90d5f8edb1d5a6cb95a18c48eca98e93cf4d34b7 (patch) | |
| tree | aa954a01622f84ee266a12891be48e0c671066ef | |
| parent | 4a6f14706e5b837c1ffeaafeaceac2f9971d1420 (diff) | |
| download | compiler-90d5f8edb1d5a6cb95a18c48eca98e93cf4d34b7.tar.gz compiler-90d5f8edb1d5a6cb95a18c48eca98e93cf4d34b7.zip | |
Some stats calc - we need to add patch version in some core web tables.
| -rw-r--r-- | queries/player/count_player_matches.sql | 39 |
1 files changed, 24 insertions, 15 deletions
diff --git a/queries/player/count_player_matches.sql b/queries/player/count_player_matches.sql index f7bd29f..2bb549d 100644 --- a/queries/player/count_player_matches.sql +++ b/queries/player/count_player_matches.sql @@ -1,16 +1,25 @@ --- UNTESTED! -WITH plr AS ( - SELECT - "id", - "apiId", - -- count matches in db - COUNT(DISTINCT participant."apiId") AS "games_in_db" - FROM player - JOIN participant ON player."apiId" = participant."player_apiId" - JOIN roster ON participant."roster_apiId" = roster."apiId" - WHERE player."apiId"=$1 +with stats as ( +with plr as ( +select + 'a' as patch_version, + player."apiId" as player_api_id, + match."gameMode" as game_mode, + participant."winner" as winner +from + match, roster, participant, player +where + match."apiId" = roster."match_apiId" and + roster."apiId" = participant."roster_apiId" and + participant."player_apiId" = player."apiId" and + player."apiId" = '6eab29f6-eed5-11e6-ba5f-068789513eb5') +select + (select distinct(player_api_id) from plr), + (select count(*) as played from plr), + (select count(*) as wins from plr where winner = true), + (select count(*) as casual_played from plr where game_mode like '%casual%'), + (select count(*) as casual_wins from plr where game_mode like '%casual%' and winner = true), + (select count(*) as ranked_played from plr where game_mode like '%ranked%'), + (select count(*) as ranked_wins from plr where game_mode like '%ranked%' and winner = true) ) -INSERT INTO player_stats("id", "apiId", "games_in_db") - SELECT * FROM plr -ON CONFLICT("apiId") DO -UPDATE SET "games_in_db"=plr."games_in_db" +INSERT INTO player_stats("player_apiId", played, wins, casual_played, casual_wins, ranked_played, ranked_wins) + SELECT * FROM stats |
