MYSQL - 使用SUM和JOIN

Jim*_*ery 11 mysql join sum

好的,所以我有4张桌子.

users列有列idname.

一个groups与列的表id,nameowner.

items列有列groupcontent.

一个content与列的表id,nameduration.

每个用户可以有几个组.每个组中都可以包含多个项目.每个项目代表其中一个内容.

我希望能够列出所有组,其中包含该组内每个内容的所有持续时间的总和.

我一直在努力的是:

select groups.id,groups.name,users.name,sum(content.duration) as duration from groups
join users on groups.owner=users.id
join items on items.group=groups.id
join content on content.id=items.content
Run Code Online (Sandbox Code Playgroud)

不幸的是,这只给了我一个结果,所有组中每个内容的所有持续时间的总和 - 如下所示:

"g001", "Group 1", "Me", "400"
Run Code Online (Sandbox Code Playgroud)

我期待的是:

"g001", "Group 1", "Me", "160"
"g002", "Group 2", "You", "160"
"g003", "Group 3", "Them", "80"
Run Code Online (Sandbox Code Playgroud)

ech*_*_Me 17

试试这个

   select groups.id,groups.name,users.name,sum(content.duration) as duration from groups
   join users on groups.owner=users.id
   join items on items.group=groups.id
   join content on content.id=items.content
   group by groups.name
Run Code Online (Sandbox Code Playgroud)