求一条access 的 sql 语句 求一个班级学生后20名的均分

如:
语文
88
65
25
47
59
84
57
55
68
98
74
58
62
44
33
66
44
81
...
求语文成绩后20名均分,用一条SQL语句
"inghot"的答案:改一处即可,desc 改为 asc 计算就正确了,否则计算结果不正确

第1个回答  2008-11-24
楼上的是sqlserver的语法吧
H我给你做吧
不是很简单.

------------

SELECT Avg(m.yw) AS 表达式1
FROM [SELECT (select count(*)+1 from cj a where a.id<b.id) AS idb, *
FROM cj AS b
ORDER BY b.yw]. AS m
WHERE (((m.idb)<=20));

说明:
(这是一各种数据库通用的写法)
表中必须要有一不重复的字段ID
然后把记录先按成绩从小到大编号 取出前20
再求平均值
测试表 cj
ID yw
2 88
3 65
4 25
5 47
6 59
7 84
8 57
9 55
10 68
11 98
12 74
13 58
14 62
15 44
16 33
17 66
18 44
19 81
-----------

真没想到access也可以这样写
SELECT avg(yw) as avg_yw
FROM (select top 20 yw from cj order by yw desc)
第2个回答  2008-11-24
select average(语文) as pj from biao where 语文 not in(select top 20 语文 from biao order by fen desc)
第3个回答  2008-11-24
select avg(语文) from (select top 20 语文 from table order by 语文 desc)本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网