求助求年龄平均值-SQL

来源:百度知道 编辑:UC知道 时间:2024/06/25 18:42:17
有一表单,学生只填报了出生年月,用DateDiff('yyyy',出生年月,DATE())as age FROM pd 可求出年龄,求助如何求出“平均年龄”,谢谢。

select A.*,B.班级人数,C.男生人数,D.女生人数,E.平均年龄 from 班级 A
join (select 班级号,Count(*) as 班级人数 from 基本信息 group by 班级号) B
on A.班级号 = B.班级号
join (select 班级号,Count(*) as 男生人数 from 基本信息 Where 性别='男' group by 班级号) C
on A.班级号 = C.班级号
join (select 班级号,Count(*) as 女生人数 from 基本信息 Where 性别='女' group by 班级号) D
on A.班级号 = D.班级号
join (select 班级号,Avg(Year(GetDate())-Year(出生日期)) as 平均年龄 from 基本信息 group by 班级号) E
on A.班级号 = E.班级号

再聚合一下就好
select
avg(DateDiff('yyyy',出生年月,DATE())) as avg_age
FROM pd

SELECT AVG(YEAR({ fn NOW() }) - YEAR(出生时间)) AS 平均年龄
FROM 表单

AVG函数