我正在为我正在构建的游戏建立一个高分体系。我认为,或者说希望这是一个容易回答的问题。我需要得到球员对其他球员的“排名”。假设有3名球员,你的分数是最低的。所以你的排名是#3。我如何在SQL中获得它?我想我使用了COUNT,但我不确定如何遍历每一行来找到我的球员的分数。我知道我将按订购。
这是我的基本表:
SELECT [ID]
,[Email]
,[High_Score]
,[Board_Name]
,[Difficulty]
,[Player_Time]
FROM [Rune_Master].[dbo].[High_Scores]
我需要按Board_Name、难度进行筛选,因为每个棋盘有3个难度,玩家可以在每个棋盘上按3种不同的方式进行排名。最终,尽管这是基于他们与其他人相比的高_分数。每个棋盘的每个难度只有一分。因此,分数将因棋盘难度而异。我希望这一切都有意义
这就是我目前的情况:
--Player Data
DECLARE @PlayerScore AS BIGINT
DECLARE @PlayerRank AS NVARCHAR(100)
IF EXISTS(SELECT [High_Score] FROM [dbo].[High_Scores] WHERE [Board_Name] = @Board AND [Difficulty] = @Difficulty AND [Email] = @Email) BEGIN
SET @PlayerScore = (SELECT [High_Score] FROM [dbo].[High_Scores] WHERE [Board_Name] = @Board AND [Difficulty] = @Difficulty AND [Email] = @Email)
SET @PlayerRank = (SELECT TOP 1 COUNT([High_Score]) FROM [dbo].[High_Scores] WHERE [Board_Name] = @Board AND [Difficulty] = @Difficulty ORDER BY [High_Score] DESC)
END ELSE BEGIN
SET @PlayerScore = 0;
SET @PlayerRank = 'UnRanked';
END
--Top 5 Player Scores
SELECT DISTINCT TOP 5
[High_Score] AS [Score],
[Player_Time],
[Board_Name],
[Email],
@PlayerScore AS 'Player_Score',
@PlayerRank AS 'Player_Rank'
FROM
[dbo].[High_Scores]
WHERE
[Board_Name] = @Board AND
[Difficulty] = @Difficulty
ORDER BY [High_Score] DESC, [Player_Time] DESC, [Email]
如果有人需要,这里有答案。谢谢大家的帮助。
代码:
DECLARE
@Board AS NVARCHAR(100) = 'Templo_Mayor',
@Difficulty AS INT = 0,
@Email AS NVARCHAR(500) = 'Computer',
@PlayerRank AS NVARCHAR(100)
CREATE TABLE #Rank
(
High_Score BIGINT,
Row# BIGINT,
EMAIL NVARCHAR(500)
)
INSERT INTO #Rank (High_Score, Row#, EMAIL)
SELECT [High_Score], ROW_NUMBER() OVER(ORDER BY [High_Score] DESC) AS Row#, [EMAIL] FROM [dbo].[High_Scores] WHERE [Board_Name] = @Board AND [Difficulty] = @Difficulty ORDER BY [High_Score] DESC
SELECT Row# FROM #Rank WHERE EMAIL = @Email ORDER BY [High_Score] DESC
DROP TABLE #Rank
所以为了解释我所做的:
我有一个使用firebase数据库实时排名的迷你游戏。 在我从firebase获得用户分数列表后,我想获得列表之外的当前用户的分数。 获取当前用户的分数很容易,但如何知道列表中的排名是OrderByChild(“分数”)。 这是获取排行榜的代码。
我正在尝试查看玩家的库存中是否有以下物品,如果有,我想移除这些物品并向他们发送消息,说该物品已被移除,但我不知道如何做到这一点,这就是我目前拥有的: 我在.contains(bannedItems,1))行上收到一个错误。 谢谢你的帮助!
问题内容: 我的代码有问题。 像这样的情况: 我有一个下拉列表,如果选择“个人”,则会出现新的下拉列表,其中包含从数据库查询中检索到的数据;如果选择“公开”,则该下拉列表将消失。 这样的HTML代码: 查询如下: 像这样的JavaScript代码: 我不知道如何将值/结果发送到javascript代码(选择选项中的值和名称)。 问题答案: 在javascript中,您必须对您的php文件进行操作:
本文向大家介绍获取SQL Server数据库元数据的几种方法,包括了获取SQL Server数据库元数据的几种方法的使用技巧和注意事项,需要的朋友参考一下 元数据简介 元数据 (metadata) 最常见的定义为“有关数据的结构数据”,或者再简单一点就是“关于数据的信息”,日常生活中的图例、图书馆目录卡和名片等都可以看作是元数据。在关系型数据库管理系统 (DBMS) 中,元数据描述了数据的结构和意
我知道你可以得到损坏的原因 在实体损坏事件中,但是我还没有找到返回造成损坏的实体的方法。我需要找出这一点,这样我就可以检查玩家的库存中是否有某个物品。
我有一个SQL函数,它返回一个对象。 上面返回一个对象,比如 我需要从对象中获取单独的值。