小编Sim*_*Loh的帖子

累积游戏分数 SQL

我最近开发了一个游戏,数据库运行在 MSSQL 上。

这是我的数据库结构

表:播放器

PlayerID uniqueIdentifier (PK)
PlayerName nvarchar
Run Code Online (Sandbox Code Playgroud)

表:游戏结果

ID bigint (PK - Auto Increment)
PlayerID uniqueIdentifier (FK)
DateCreated Datetime
Score int
TimeTaken bigint
PuzzleID int
Run Code Online (Sandbox Code Playgroud)

我做了一个 SQL 列出了按最高分 (DESC) 和耗时 (ASC) 排序的前 50 名玩家,下面的 Sql 允许我获得每个谜题 ID 的结果。我不确定它是否是 100%,但我相信它是正确的。

;with ResultSet (PlayerID, maxScore, minTime, playedDate) 
AS
(
  SELECT TOP 50 PlayerID, MAX(score) as maxScore, MIN(timetaken) as minTime, MIN(datecreated) as playedDate
    FROM gameresult
    WHERE puzzleID = @PuzzleID
    GROUP BY PlayerID
    ORDER BY maxScore desc, minTime asc, playedDate asc …
Run Code Online (Sandbox Code Playgroud)

sql-server

3
推荐指数
1
解决办法
1248
查看次数

标签 统计

sql-server ×1