我的数据库中的表Charge_Money包含以下列:NickName,Money ... 该表具有我的用户已添加到他们的游戏帐户中的所有积分。 我想计算出在此期间充值最多的三名玩家(列货币),我该怎么做? 例如:
NickName Money
player1 150000
player2 140000
player3 120000
player4 500000
上面,我们在排名的前三位中有玩家4,玩家1和玩家2。
答案 0 :(得分:2)
您可以尝试以下查询:
Select top 3 DISTINCT NickName, Money
from Charge_Money
Order By Money DESC;
答案 1 :(得分:1)
我在这里使用以下查询:
select NickName, Sum([Money])
from Charge_Money CM
where (select count(distinct [Money]) from Charge_Money where
[Money]>=CM.[Money])<=3
AND [Date] Between 'Startdate' And 'Enddate'
Group by NickName
并获得结果,在此期间(开始日期-结束日期),有3个玩家的总和(充值)最多。
答案 2 :(得分:1)
尝试一下:
ImageView
根据需要更改Where子句。
答案 3 :(得分:0)
我使用以下查询:
SELECT DISTINCT TOP 3 NickName, SUM(Money)
FROM Charge_Money WHERE MONTH(Date) = 01 AND Day(Date) >= 21 AND Day(Date) <= 31
GROUP BY NickName
ORDER BY SUM(Money) DESC
并在下面得到它:
NickName Money
player1 465200
p2 300000
p3 167400