Ok, quindi ho 4 tavoli.MYSQL - Utilizzo di SUM con JOIN
A users
tabella con colonne id
e name
.
Un groups
tabella con colonne id
, name
e owner
.
A items
tabella con colonne group
e content
.
A content
tabella con colonne id
, name
e duration
.
Ogni utente può disporre di più gruppi. Ogni gruppo può avere diversi oggetti al suo interno. Ogni articolo rappresenta uno dei pezzi di contenuto.
Desidero essere in grado di elencare tutti i gruppi, con una somma di tutte le durate di ciascun contenuto all'interno di quel gruppo.
Che Ive cercato è questo:
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
Purtroppo questo mi dà un solo risultato, con una somma totale di tutte le durate di ogni pezzo di contenuti in tutti i gruppi - in questo modo:
"g001", "Group 1", "Me", "400"
Quello che mi aspetto è qualcosa di simile:
"g001", "Group 1", "Me", "160"
"g002", "Group 2", "You", "160"
"g003", "Group 3", "Them", "80"
può u dare alcuni semplici dati? –