| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 20969 人关注过本帖
标题:怎样在ACCESS里求总成绩和平均值
只看楼主 加入收藏
猫色色
Rank: 2
等 级:论坛游民
帖 子:135
专家分:25
注 册:2006-6-8
结帖率:96%
收藏
 问题点数:0 回复次数:8 
怎样在ACCESS里求总成绩和平均值

这是我数据库里的字段
student_chinese 数字
student_math 数字
student_politics 数字
student_english 数字
total_score 数字
average 数字
我想在total_score里求前四个录入数的总合,
想在average里求平均值
请问怎么设计?

搜索更多相关主题的帖子: 总成绩 平均值 ACCESS 
2007-06-20 08:33
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
收藏
得分:0 

在存储数据的同时计算下就能解决了


专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2007-06-20 09:07
xiaohonghui0
Rank: 1
等 级:新手上路
威 望:1
帖 子:274
专家分:0
注 册:2006-4-10
收藏
得分:0 

在数据库中加个保存时间的字段,然后:
select top 4 * from 表名 order by time(设定的字段) desc
dim a
a=0
do while not rs.eof
a=a+cint(rs("分数"))
rs.movenext
loop
dim averagescore
averagescore=a/4
上面的代码放在你录入数据的后台页里,再将a保存到total_score,averagescore保存到average字段就可以了


曾用asp做过公司管理系统,新闻发布系统,个人网站之类,可代做网站 有意者请联系我,电话:13714123661
2007-06-20 09:23
猫色色
Rank: 2
等 级:论坛游民
帖 子:135
专家分:25
注 册:2006-6-8
收藏
得分:0 

那有没能在数据库里实现的呢


我们在成长
2007-06-20 12:41
yndkai
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:275
专家分:0
注 册:2007-6-1
收藏
得分:0 

基本上都在外面计算的吧 又方便


本来讨厌下雨的天空 直到听见有人说爱我
2007-06-20 12:50
kennychaly
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2007-6-19
收藏
得分:0 

都忘光了...


我就是什么都不会
2007-06-20 14:38
skyzheng
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-4-20
收藏
得分:0 
厉害
2007-06-20 18:47
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
SQL里的求平均值AVG函数
2007-06-20 20:29
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
回复:(猫色色)怎样在ACCESS里求总成绩和平均值
Transact-SQL 参考

AVG

返回组中值的平均值。空值将被忽略。

语法

AVG ( [ ALL | DISTINCT ] expression )

参数

ALL

对所有的值进行聚合函数运算。ALL 是默认设置。

DISTINCT

指定 AVG 操作只使用每个值的唯一实例,而不管该值出现了多少次。

expression

精确数字或近似数字数据类型类别的表达式(bit 数据类型除外)。不允许使用聚合函数和子查询。

返回类型

返回类型由表达式的运算结果类型决定。

表达式结果 返回类型
整数分类 int
decimal 分类 (p, s) decimal(38, s) 除以 decimal(10, 0)
money smallmoney 分类 money
floatreal 分类 float

重要 当使用 CUBE 或 ROLLUP 时,不支持非重复聚合,例如 AVG(DISTINCT column_name)、COUNT(DISTINCT column_name)、MAX(DISTINCT column_name)、MIN(DISTINCT column_name) 和 SUM(DISTINCT column_name)。如果使用了 CUBE 或 ROLLUP,Microsoft® SQL Server™ 将返回错误信息并取消查询。

示例
A. 使用 SUM 和 AVG 函数进行计算

下例计算所有商业类书籍的平均预付款和本年度迄今为止的销售额。对检索到的所有行,每个聚合函数都生成一个单独的汇总值。

USE pubs
SELECT AVG(advance), SUM(ytd_sales)
FROM titles
WHERE type = 'business'

下面是结果集:

-------------------------- ----------- 
6,281.25                   30788       
(1 row(s) affected)
B. 与 GROUP BY 子句一起使用 SUM 和 AVG 函数

当与 GROUP BY 子句一起使用时,每个聚合函数都为每一组生成一个值,而不是对整个表生成一个值。下例对每一类书生成汇总值,这些值包括每一类书的平均预付款以及每一类书本年度迄今为止的销售总额。

USE pubs
SELECT type, AVG(advance), SUM(ytd_sales)
FROM titles
GROUP BY type
ORDER BY type

下面是结果集:

type                                                
------------ -------------------------- ----------- 
business     6,281.25                   30788       
mod_cook     7,500.00                   24278       
popular_comp 7,500.00                   12875       
psychology   4,255.00                   9939        
trad_cook    6,333.33                   19566       
UNDECIDED    NULL                       NULL      
(6 row(s) affected)
C. 使用带 DISTINCT 的 AVG

下列语句返回商业类书籍的平均价格。

USE pubs
SELECT AVG(DISTINCT price)
FROM titles
WHERE type = 'business'

下面是结果集:

-------------------------- 
11.64                      
(1 row(s) affected)
D. 使用不带 DISTINCT 的 AVG

如果不使用 DISTINCT,AVG 函数将计算出 titles 表中所有商业类书籍的平均价格。

USE pubs
SELECT AVG(price)
FROM titles
WHERE type = 'business'

下面是结果集:

-------------------------- 
13.73                      
(1 row(s) affected)

请参见

聚合函数

[此贴子已经被作者于2007-6-20 20:36:14编辑过]

2007-06-20 20:34
快速回复:怎样在ACCESS里求总成绩和平均值
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023161 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved