And*_*rew 3 sql sum max distinct sql-like
问题
我有四个游戏服务器收集数据.将数据放入单个表中.不幸的是,这导致一个玩家每个统计有四个条目.
我想要什么我
想在某些列上有一条记录和SUM().
我将发表一篇我写的声明,但这些声明不起作用,但你会明白我想要完成的事情.
SELECT DISTINCT( Name ),
Max(Level),
Class,
Sum(Kills),
Sum(Deaths),
Sum(Points),
Sum(TotalTime),
Sum(TotalVisits),
CharacterID
FROM Characters
WHERE Name LIKE '$value%'
OR CharacterID LIKE '$value'
ORDER BY Name ASC;
Run Code Online (Sandbox Code Playgroud)
首先让我说数据库中的重复行真的不太理想.一个完全规范化的数据库,使数据更容易操作,而无需随机异常弹出.
但是,要回答你的问题,这就是dweiss所说的代码(使用group by):
SELECT
name,
MAX(Level),
Class,
SUM(Kills),
SUM(Deaths),
SUM(Points),
SUM(TotalTime),
SUM(TotalVisits),
CharacterID
FROM
Characters
WHERE
Name LIKE '$value%' OR CharacterID LIKE '$value'
GROUP BY
name,
class,
characterid
ORDER BY
Name ASC
;
Run Code Online (Sandbox Code Playgroud)
我假设每个玩家的名字,类,角色ID都是一样的,因为这是获得那些值的唯一方法.否则你也必须在它们上使用聚合函数.