问题描述
由于数据库已经写死动不了,要不然用SQL很容易搞定。从数据库读出来的datatable是这样的结构时间用户名金额2008-05-0518:07:57aaa102008-05-0501:07:57aaa152008-05-0615:00:20aaa52008-05-0718:00:02aaa82008-05-0819:08:50aaa202008-05-0818:27:50aaa302008-05-0819:08:00aaa50我要得到以下结果,就是分组把当天的金额加起来当天时间用户名当天金额2008-05-05aaa25<----这个就是10+15的结果2008-05-06aaa52008-05-06aaa82008-05-08aaa100<----20+30+50
不知道dataview之类的能不能做到以上要求。
解决方案
解决方案二:
从数据库读数据,将时间字段分成日期各时间两字段,然后用GroupBy关键字达到日期分组,SUN(金额)就可以达到你要的数据集
解决方案三:
http://support.microsoft.com/default.aspx?scid=kb;en-us;326145
解决方案四:
引用2楼suosa的回复:
http://support.microsoft.com/default.aspx?scid=kb;en-us;326145
赞个
解决方案五:
引用2楼suosa的回复:
http://support.microsoft.com/default.aspx?scid=kb;en-us;326145
这样的话速度还不如重新查询为..
解决方案六:
datatable.DefaultView.ToTable(true,"col")找出不重复的时间,再遍历时间用datatable.Compute("Sum(金额)","时间=时间")不知道用取年月日的函数行不行,你试试吧,没测试过
解决方案七:
为什么不在读数据库的时候就分给好呢?
解决方案八:
由于数据库已经写死动不了,要不然用SQL很容易搞定。-------------------------------------------表应该不能改了,但是sql语句可以改吧,总不能sql语句都不能改吧.用GroupBy日期字段分组,SUN(金额)
解决方案九:
有linq就方便很多了
解决方案十:
怎么可以实现,但是比较麻烦自己构造一datatable,然后从原由的datatable中读取每日的数据插入到该datatable中
解决方案十一:
好像dataview不支持groupby,效率最好的还是应该在数据库搞定.不然要sql语句干嘛,自己写个groupby出行.
解决方案十二:
比较难搞。