填写表格数据(玩家排名)

时间:2014-09-25 05:32:39

标签: mysql sql

您好我有3张桌子:

  1. 球员(身份证,姓名,姓氏)
  2. 游戏(id,id_gamer,points)
  3. 总计(id,id_gamer,name_gamer,total_Points,position)
  4. 在表格中:playersgames,由管理员输入的记录,

    totals中的

    我希望通过sql查询输入关于每个玩家的信息(id_gamer和name_gamer),以及点数(总和(点数))和评级中的位置

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

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

    感谢

1 个答案:

答案 0 :(得分:0)

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

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

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