我有一张数据表,包含
ID GETTIME weight 指数1 指数2
1 2007-07-24:11:20 100 0.33 0.32
2 2007-07-26:11:20 100 0.50 0.32
3 2007-08-24:11:20 100 0.33 0.32
4 2007-08-25:11:20 100 0.30 0.40
我要做成一个年报表,显示为
项目 weight 指数1 指数2
7月数据 200 0.41 0.32
8月数据 200 0.31 0.36请问该怎么做呀.
指数的计算公式为:每条记录的指数 * 该记录的weight / 汇总记录的weight综合
ID GETTIME weight 指数1 指数2
1 2007-07-24:11:20 100 0.33 0.32
2 2007-07-26:11:20 100 0.50 0.32
3 2007-08-24:11:20 100 0.33 0.32
4 2007-08-25:11:20 100 0.30 0.40
我要做成一个年报表,显示为
项目 weight 指数1 指数2
7月数据 200 0.41 0.32
8月数据 200 0.31 0.36请问该怎么做呀.
指数的计算公式为:每条记录的指数 * 该记录的weight / 汇总记录的weight综合
解决方案 »
- 面试题,asp.net和sql之间的传输方式?
- 我写了ASP网站,放在服务器上出问题
- (求助).NET 集成域用户登录如何实现
- 错误 1 找不到类型或命名空间名称“DotNetTextBox”(是否缺少 using 指令或程序集引用?)
- 通用分页存储过程如何防止SQL注入?高手接分!
- 在DataList嵌套DropDownList问题
- 200分只为"如何控制动态生成的控件的id"
- 在一个页a.aspx中有按钮btn1可不可以执行页b.aspx中的一段代码,可不可以用__doPostBack()来做呢,我用这种写法不能执行啊(好象是自已写得
- <!DOCTYPE html>的问题
- 这种网页怎么做的??初级问题
- 求一条sql语句
- 请教:在aspx中播放flv音频文件,有弄过的吗?
先用GETTIME实例化一个DateTime对象date,然后比对这个date.Month就可以得到月份
剩下应该很好做了
{
int[] months=new int[12];
foreach(DataRow dr in _ds.Tables[0].Rows)
{
DateTime MyDateTime = DateTime.Parse(dr["GETTIME"].ToString());//将字符串时间转换成DateTime对象
months[MyDateTime.Month]+=int.Parse(dr["weight"].ToString());//取得了这个月份的总重
}
}
SELECT DatePart(mm, MAX([GETTIME])) + '月数据' AS 项目, SUM(weight) AS TotalWeight, SUM(指数1*weight)/TotalWeight AS 指数1, SUM(指数2*weight)/TotalWeight AS 指数2
FROM tbl
GROUP BY DatePart(mm, [GetTime])