Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

假设一共3个班,各班学生数量不等,总分已经知道,要求找到每个班第三名的成绩并取三个成绩平均值。

蜗牛也是牛  发表于:2014-11-15 11:12:10  
复制

假设一共3个班,各班学生数量不等,总分已经知道,要求找到每个班第三名的成绩并取三个成绩平均值。

 如图:找出1班,2班,3班的第三名并算出三个总分的平均值。自定义函数最好,先谢谢了。


 

Top
竹笛 发表于:2014-11-16 14:10:20

提示一下:1班前3名用SQL代码来选取记录的代码是:

select top 3 * from 表名称 where 班级='1班'



在水一方 发表于:2014-11-17 00:09:06
SELECT 表.班级, 表.成绩, 表.学生 FROM 表
WHERE DCount("学生","表","成绩>=" & [成绩] & "and 班级='" & [班级] & "'")=3;
上面是各班第三名的成绩,平均成绩在此基础上另建一个查询就可以了。

参考资料:http://www.accessoft.com/blog/article-show.asp?userid=20576&Id=9521



朱先生 发表于:2014-11-17 14:20:53

1.加入学生姓名字段

2.三个班前三名的三个选择查询

3.三个查询的联合查询 

4.依联合查询做报表中求前三名的平均成绩

5.这样做似乎太忙烦,但目的是达到了,望高手简化




蜗牛也是牛 发表于:2014-11-17 15:15:35

谢谢各位的解答,我试下!



煮江品茶 发表于:2014-11-17 19:47:27

有四个100分怎么第三名怎么算?



朱先生 发表于:2014-11-18 21:21:55
分数相同取名次可能是按姓氏排序的吧?

总记录:6篇  页次:1/1 9 1 :