我有一张包含会议日期的会议表。
我有另一张人的桌子。
我有第三个参加会议的表格,即如果一个人参加了会议,将会有一个记录,其中包含该人员的身份证明"栏目和会议中的会议ID"列。
现在,我需要一份每年平均参加会议的人员名单。例如。 " 2011年,平均有21.6人。满足"
我觉得我应该可以在SQL中执行此操作,但我不知道如何...
答案 0 :(得分:0)
您可以通过将参加者总数除以会议次数来获得每次会议的平均参与人数。
group by
完成此任务:
select year(m.meetingdate) as yyyy, count(*) / count(distinct m.meetingid)
from meetings m join
participants p
on m.meetingid = p.meetingid
group by year(m.meetingdate)
order by year(m.meetingdate);
注意:某些数据库有其他方式表达year()
。有些数据库会执行整数除法,因此您需要在除法之前将值转换为十进制或浮点数。