sql求平均值

数据库中有4,5,6三个月,有20人,每个人都有三个月的数据,怎样求出每个人的三个月平均值?... 数据库中有4,5,6三个月,有20人,每个人都有三个月的数据,怎样求出每个人的三个月平均值? 展开
 我来答
小白丶风
推荐于2017-04-22 · TA获得超过340个赞
知道小有建树答主
回答量:136
采纳率:0%
帮助的人:91.6万
展开全部
每个人的平均值?那就用group by姓名,按照姓名这个属性来分组统计,用avg函数来求每个人平均值,不过这样算,如果出现同名,会算成一个人,所以一般都是按照学号之类不会重复的列来分组。
大致代码如下:
select 姓名,avg(数学) as 数学平均分,avg(语文) as 语文平均分,avg(政治) as 政治平均分,avg(数学)+avg(语文)+avg(政治) as 总分平均分 from 表名
group by 姓名
COUNTIFABS
2013-07-11 · TA获得超过2154个赞
知道大有可为答主
回答量:1594
采纳率:55%
帮助的人:1236万
展开全部

三个月总的的平均值吗?


select 姓名,avg(值) as 平均值 from tb
group by 姓名
追问
首先谢谢你,我还是不太懂;
我数据库表中,横排是:月份,姓名,数学,语文,政治,总分
竖排是:4月,5月,6月
我想算出20人的,数学三月的平均值,语文平均值,政治平均值,总分平均值是什么代码?谢谢
追答

看下面,写了两个,看你要哪种:::


--测试表
create table TB2(月份  int,[姓名] nvarchar(20),[数学] int,[语文] int) 
insert into TB2 values(4,'张三1',66,77)
insert into TB2 values(5,'李四',66,88)
insert into TB2 values(6,'李大',66,78)
insert into TB2 values(4,'张三1',66,77)
insert into TB2 values(5,'李四1',66,88)
insert into TB2 values(6,'李大2',66,78)
insert into TB2 values(4,'张三3',66,77)
insert into TB2 values(5,'李四4',66,88)
insert into TB2 values(6,'李大5',66,78)

--查寻1(所有学生3个月的平均值,按月)

select 月份,avg([数学])as 数学,avg([语文]) as 语文

from tb2
group by 月份

--结果:
月份 数学  语文
4 66 77
5 66 88
6 66 78

--查寻2(每个学生3个月的平均值)

select 姓名,avg([数学])as 数学,avg([语文]) as 语文

from tb2
group by 姓名
--结果:

月份 数学  语文
李大 66 78
李大2 66 78
李大5 66 78
李四 66 88
李四1 66 88
李四4 66 88
张三1 66 77
张三3 66 77
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式