求一条access 的 sql 语句 求一个班级学生后20名的均分
如:语文886525475984575568987458624433664481...求语文成绩后20名均分,用一条SQL语句"inghot"的答案:改一处即可,desc...
如:
语文
88
65
25
47
59
84
57
55
68
98
74
58
62
44
33
66
44
81
...
求语文成绩后20名均分,用一条SQL语句
"inghot"的答案:改一处即可,desc 改为 asc 计算就正确了,否则计算结果不正确 展开
语文
88
65
25
47
59
84
57
55
68
98
74
58
62
44
33
66
44
81
...
求语文成绩后20名均分,用一条SQL语句
"inghot"的答案:改一处即可,desc 改为 asc 计算就正确了,否则计算结果不正确 展开
3个回答
展开全部
楼上的是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)
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)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select average(语文) as pj from biao where 语文 not in(select top 20 语文 from biao order by fen desc)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select avg(语文) from (select top 20 语文 from table order by 语文 desc)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询