合并列中具有相同字段的多行

Merging multiple rows with same field in column

我正在为游戏服务器制作排行榜,希望得到帮助。

我在 MySQL 中有一个 table 看起来像 this (还有其他列存在但我想忽略)

有没有办法将 steam_id_64 中的每一行与相同的值组合在一起,但 player_name 显示上次使用的蒸汽名称(或当前来自蒸汽)并且是否可以隐藏steam_id_64BOT?

的行

如果有帮助,我有php5。谢谢你的帮助。

使用 != 隐藏 steam_id_64 是 BOT

的行
Select * from table where steam_id_64 !='BOT'

您必须使用 sum() 函数对不同的列求和。为避免这些机器人条目,您可以使用条件来测试 player_name 不是 BOT

select
  player_name,
  sum(kills) as kills,
  sum(deaths) as deaths,
  sum(assists) as assists,
  sum(head_shots) as headshots,
  sum(team_kills) as team_kills,
  sum(assists_team_attack) as assist_team_attack,
  sum(damage) as damage,
  sum(hits) as hits,
  sum(shots) as shots,
  sum(last_alive) as last_alive
group by steam_id_64
where steam_id_64 != "BOT"

为了方便以后处理,我在每个 sum() 中添加了“... as field_name”。

请试试这个,如果有什么遗漏,请完善你的问题。