班级 姓名 语文
一班 小小 78
一班 大大 68
二班 他他 70
二班 她她 50
想实现成
班级 平均分 平均分排名 及格率 及格率排名
一班 73 1 100% 1
二班 60 2 50% 2用的是access数据库,所以尽量用select 语句。感谢呀!及格率>=60--access
SELECT 班级,平均分
,1 + ( SELECT COUNT(*)
FROM ( SELECT 班级,AVG(语文) AS 平均分
FROM tb
GROUP BY 班级
)T
WHERE 平均分<TT.平均分
) AS 平均分排名
FROM ( SELECT 班级,AVG(语文) AS 平均分
FROM tb
GROUP BY 班级
)TT上面是一个大哥写的语句已经做了“班级 平均分 平均分排名”,自己研究了一下,想写“ 及格率 及格率排名”没成功,特此求助,感谢呀!!
一班 小小 78
一班 大大 68
二班 他他 70
二班 她她 50
想实现成
班级 平均分 平均分排名 及格率 及格率排名
一班 73 1 100% 1
二班 60 2 50% 2用的是access数据库,所以尽量用select 语句。感谢呀!及格率>=60--access
SELECT 班级,平均分
,1 + ( SELECT COUNT(*)
FROM ( SELECT 班级,AVG(语文) AS 平均分
FROM tb
GROUP BY 班级
)T
WHERE 平均分<TT.平均分
) AS 平均分排名
FROM ( SELECT 班级,AVG(语文) AS 平均分
FROM tb
GROUP BY 班级
)TT上面是一个大哥写的语句已经做了“班级 平均分 平均分排名”,自己研究了一下,想写“ 及格率 及格率排名”没成功,特此求助,感谢呀!!
FROM ( SELECT 班级,AVG(语文) AS 平均分
FROM tb
GROUP BY 班级
)T
WHERE 平均分>TT.平均分
) AS 平均分排名, 及格率, ( SELECT COUNT(*)
FROM ( SELECT 班级,SUM(IIF(语文>=60,1,0))*100/COUNT(*) AS 及格率
FROM tb
GROUP BY 班级
)T
WHERE 及格率<TT.及格率
) AS 及格率排名
FROM [SELECT 班级,AVG(语文) AS 平均分,TRIM( SUM(IIF(语文>=60,1,0))*100/COUNT(*))+'%' AS 及格率
FROM tb
GROUP BY 班级
]. AS TT;