2017-02-10 8 views
0

Мне нужен список «Средний возраст» членов для каждой из 90 глав. Есть 3 таблицы: Члены, Главы, Chapt_Memb (карты Члены < -to-> Главы).SQL Query - перечисление Средний возраст членов группы

Это дает один ответ, средний возраст всех членов всех глав:

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 

Возвращает: "ID-1, Name = Уилмингтон, AvgAge = 48,275"

Как я могу получить список каждой главы с ее соответствующим AvgAge?

+0

вам нужно использовать группировку. –

ответ

2

теряют отчетливое и группу по идентификатору и имени

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

СПАСИБО! Работает как чемпион! – Mike97

+0

@ Mike97 действительно принимаю ответ как правильный то :) –

+0

Да (извините, я новичок в «задании вопросов»)! – Mike97