mysql - 用数据填充表格(玩家排名)

标签 mysql sql

您好,我有 3 张 table :

  1. 玩家(ID、姓名)
  2. 游戏(id、id_gamer、积分)
  3. 总计(id、id_gamer、name_gamer、total_Points、位置)

表中:playersgames,记录管理员输入的内容,

在表totals中我想通过sql查询输入有关每个玩家(id_gamer和name_gamer)的信息,以及得分(sum(points))和评级中的位置

我开始这样做,但不起作用

INSERT INTO totals (id_gamer, name_gamer) SELECT id, Name FROM players ;

谢谢

最佳答案

您可以使用它来填写每个玩家的总分:

INSERT INTO totals (id_gamer, name_gamer, total_points)
SELECT p.id, p.name, IFNULL(SUM(g.points), 0)
FROM players AS p
LEFT JOIN games AS g ON p.id = g.id_gamer
GROUP BY p.id

获得积分后,您可以更新它以填补职位。请参阅Rank function in MySQL了解在 MySQL 中计算排名的方法。

关于mysql - 用数据填充表格(玩家排名),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26031263/

相关文章:

Java:如何按文件名而不是扩展名过滤传入文件?

php - 使用php对sql表执行操作

mysql - 总结MySQL bool 值,转换为int

sql - plpgsql 在返回查询之前对其进行操作

sql - 如何在Oracle SQL中获得过去三天每天的滚动非重复计数?

mysql - 连接两个表,一个具有相同的唯一行,另一个具有多个对应行

mysql - 如何丢弃MySQL表中的旧条目

sql - 使用三个参数创建日期

sql - 如何只选择表中的每第 n 行?

python - Python 的 MySQL 模块