mirror of
https://github.com/OpenFusionProject/scripts.git
synced 2024-11-26 07:10:06 +00:00
fixed non-updating rank table, added tiebreaker logic
This commit is contained in:
parent
9deba1956f
commit
f048e918e1
@ -35,19 +35,29 @@ except Exception as ex:
|
|||||||
|
|
||||||
def fetch_ranks(epid, date, num):
|
def fetch_ranks(epid, date, num):
|
||||||
sql = """
|
sql = """
|
||||||
SELECT * FROM (
|
SELECT
|
||||||
SELECT RaceResults.PlayerID,
|
PBRaceResults.PlayerID,
|
||||||
Players.FirstName,
|
Players.FirstName,
|
||||||
Players.LastName,
|
Players.LastName,
|
||||||
RaceResults.Score
|
PBRaceResults.Score
|
||||||
|
FROM (
|
||||||
|
SELECT
|
||||||
|
ROW_NUMBER() OVER (
|
||||||
|
PARTITION BY RaceResults.PlayerID
|
||||||
|
ORDER BY
|
||||||
|
RaceResults.Score DESC,
|
||||||
|
RaceResults.RingCount DESC,
|
||||||
|
RaceResults.Time ASC
|
||||||
|
) AS PersonalOrder,
|
||||||
|
RaceResults.*
|
||||||
FROM RaceResults
|
FROM RaceResults
|
||||||
INNER JOIN Players ON RaceResults.PlayerID=Players.PlayerID
|
WHERE EPID=? AND DATETIME(Timestamp, 'unixepoch') > DATETIME('now', ?)
|
||||||
WHERE EPID=? AND
|
) AS PBRaceResults
|
||||||
DATETIME(Timestamp,'unixepoch') > (SELECT DATETIME('now', ?))
|
INNER JOIN Players ON PBRaceResults.PlayerID=Players.PlayerID AND PBRaceResults.PersonalOrder=1
|
||||||
ORDER BY Score DESC
|
ORDER BY
|
||||||
)
|
PBRaceResults.Score DESC,
|
||||||
GROUP BY PlayerID
|
PBRaceResults.RingCount DESC,
|
||||||
ORDER BY Score DESC
|
PBRaceResults.Time ASC
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if num > -1:
|
if num > -1:
|
||||||
@ -63,15 +73,14 @@ def fetch_ranks(epid, date, num):
|
|||||||
|
|
||||||
def fetch_my_ranks(pcuid, epid, date):
|
def fetch_my_ranks(pcuid, epid, date):
|
||||||
sql = """
|
sql = """
|
||||||
SELECT RaceResults.PlayerID,
|
SELECT
|
||||||
|
RaceResults.PlayerID,
|
||||||
Players.FirstName,
|
Players.FirstName,
|
||||||
Players.LastName,
|
Players.LastName,
|
||||||
RaceResults.Score
|
MAX(RaceResults.Score) AS MaxScore
|
||||||
FROM RaceResults
|
FROM RaceResults
|
||||||
INNER JOIN Players ON RaceResults.PlayerID=Players.PlayerID
|
INNER JOIN Players ON RaceResults.PlayerID=Players.PlayerID
|
||||||
WHERE RaceResults.PlayerID=? AND EPID=? AND
|
WHERE RaceResults.PlayerID=? AND EPID=? AND DATETIME(Timestamp, 'unixepoch') > DATETIME('now', ?);
|
||||||
DATETIME(Timestamp,'unixepoch') > (SELECT DATETIME('now', ?))
|
|
||||||
ORDER BY Score DESC LIMIT 1;
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
args = (pcuid, epid, date)
|
args = (pcuid, epid, date)
|
||||||
|
Loading…
Reference in New Issue
Block a user