查询mysql返回错误的和

查询mysql返回错误的和,mysql,sql,database,Mysql,Sql,Database,朋友们,下午好 我正在开发一个应用程序,我有一个页面显示“房间”顶部。我想得到某个“房间”内所有用户的应用程序点数之和 我已经完成了以下查询: SELECT rooms.id, rooms.name, SUM(users.points) FROM users, room_players, rooms WHERE users.id = room_players.user AND room_players.room = rooms.id 这将返回所有房间内所有用户的积分之和,我希望每个房间内所有用

朋友们,下午好

我正在开发一个应用程序,我有一个页面显示“房间”顶部。我想得到某个“房间”内所有用户的应用程序点数之和

我已经完成了以下查询:

SELECT rooms.id, rooms.name, SUM(users.points)
FROM users, room_players, rooms
WHERE users.id = room_players.user AND room_players.room = rooms.id
这将返回所有房间内所有用户的积分之和,我希望每个房间内所有用户的应用程序积分之和

有人能帮我找到这个查询中的错误吗


现在非常感谢。

可能需要GROUPBY子句

SELECT rooms.id, rooms.name, SUM(users.points) 
FROM users, room_players, rooms 
WHERE users.id = room_players.user AND room_players.room = rooms.id
GROUP BY  rooms.id, rooms.name
使用更现代的联接:-

SELECT rooms.id, rooms.name, SUM(users.points) 
FROM users
INNER JOIN room_players ON users.id = room_players.user
INNER JOIN rooms ON room_players.room = rooms.id
GROUP BY  rooms.id, rooms.name

使用GROUP BY room.id按房间对总和进行分组

您应该使用联接和GROUP BY look:

Select 
   c.id,c.name,sum(a.points) from users a
Inner join room_players b
   On (a.id=b.user)
Inner join rooms c
   On (b.room=c.id)
Group by c.id,c.name

这个问题似乎离题了,因为它缺乏基本的研究。非常感谢你的帮助!致以最良好的祝愿。非常感谢您的帮助!致以最良好的祝愿。非常感谢您的帮助!顺致敬意,