select avg(分数) from (select 日期, 分数 from tb group by 日期)t
解决方案 »
- 只单独安装了SQL2005 36M的企业管理器,还要打SP4补丁吗?
- 利用phpMyAdmin管理mysql,在登陆时的网络密码是什么?
- 怎样把要置顶的信息和其它信息一起查询出来
- 一个关于sql查询的问题
- 再问SQL语句,还是关于税收的,谢啦,在线等待,解决即给分结贴
- 【求助】关于创建关系后插入记录后,提示违反约束的问题
- 为什么我在windows2003 SP2, SQL2005 SP2的查询分析器中执行如下语句会出错呢?
- 一个触发器语句的问题。
- SQL Server7的问题,各位快来帮忙!!!!!!!!!!
- Exists Aggregate String Function ?
- 新手请教个问题~
- 有个SQL语句,想不明白啦,大家帮帮忙
少粘贴了一个字段。
select 日期, sum(分数)%COUNT (日期) from tb group by 日期
日期 用户名 得分 班次
2014-06-01 a 10 白班
2014-06-01 b 10 白班
2014-06-01 c 5 中班2014-06-02 a 20 白班
2014-06-02 b 20 白班
2014-06-02 c 15 中班2014-06-03 a 10 白班
2014-06-03 b 10 白班
2014-06-03 c 10 白班
2014-06-04 a 15 白班
2014-06-04 b 15 白班2014-06-05 a 10 白班
2014-06-05 b 10 白班
2014-06-05 c 10 白班
2014-06-05 d 15 中班2014-06-06 a 20 白班
2014-06-06 b 20 白班
2014-06-06 c 20 白班
2014-06-06 d 20 白班
2014-06-06 e 30 中班
如上测试数据,某一天班次为“白班”的每个人的分数都是一样的,
其他班次的分数则不相同
我想要的结果是:某一天班次为“白班”的只取一个分数,然后求平均分;
比如我想求 6月1号到6月4号的平均分计算公式为:
(10+20+10+15)/4=13.75
GROUP BY Test
insert into tb
select '2014-06-01','a','10','白班' union all
select '2014-06-01','b','10','白班' union all
select '2014-06-01','c','5','中班' union all
select '2014-06-02','a','20','白班' union all
select '2014-06-02','b','20','白班' union all
select '2014-06-02','c','15','中班' union all
select '2014-06-03','a','10','白班' union all
select '2014-06-03','b','10','白班' union all
select '2014-06-03','c','10','白班' union all
select '2014-06-04','a','15','白班' union all
select '2014-06-04','b','15','白班' union all
select '2014-06-05','a','10','白班' union all
select '2014-06-05','b','10','白班' union all
select '2014-06-05','c','10','白班' union all
select '2014-06-05','d','15','中班' union all
select '2014-06-06','a','20','白班' union all
select '2014-06-06','b','20','白班' union all
select '2014-06-06','c','20','白班' union all
select '2014-06-06','d','20','白班' union all
select '2014-06-06','e','30','中班' go
with cte as
(
select distinct 日期,'-' as 用户,班次,得分 from tb where 班次='白班' and 日期 >= '2014-06-01' and 日期 <= '2014-06-04'
)
select cast (sum(得分) as numeric (5,0))/cast (count(日期)as numeric(5,0) ) as [平均值] from cte--平均值
--13.750000
Group by 得分,日期)) as x
谢谢朋友们的热心回答。我用这个语句已经解决,之前一直想着除了总天数,没绕过弯来出除以总人数。嘿嘿,结贴。