2017-02-10 2 views
0

Ich brauche eine Liste des 'Durchschnittsalters' der Mitglieder für jedes von 90 Kapiteln. Es gibt 3 Tabellen: Mitglieder, Kapitel, Chapt_Memb (Karten Mitglieder < -zu-> Kapitel).SQL Query - Listing Durchschnittliches Alter der Kapitel Mitglieder

Dies erzeugt eine einzige Antwort, das Durchschnittsalter aller Mitglieder aller Kapitel:

SELECT distinct Chapters.ID, Chapters.Name, avg(floor(datediff(curdate(),Members.dob)/365.242199)) as AvgAge 
    FROM Members,Chapters,Chapt_Memb 
    WHERE Chapters.ID=Chapt_Memb.chapt_id and Members.ID=Chapt_Memb.memb_id 
    ORDER by Chapters.ID 

Rückkehr: "ID-1, Name = Wilmington, AvgAge = 48,275"

Wie bekomme ich eine Liste jedes Kapitels mit seinem jeweiligen AvgAge?

+0

Sie Gruppierung verwenden müssen. –

Antwort

2

verlieren die deutliche und Gruppe von ID und Name

SELECT Chapters.ID, Chapters.Name, avg(floor(datediff(curdate(),Members.dob)/365.242199)) as AvgAge 
FROM Members,Chapters,Chapt_Memb 
WHERE Chapters.ID=Chapt_Memb.chapt_id and Members.ID=Chapt_Memb.memb_id 
GROUP BY Chapters.ID, Chapters.Name 
ORDER by Chapters.ID 
+0

DANKE! Funktioniert wie ein Champion! – Mike97

+0

@Mike97 akzeptiere die Antwort als richtig dann :) –

+0

Ja (Entschuldigung, ich bin neu bei den "Fragen" Teil dieser)! – Mike97