C# DataTable表内数据计算问题!!紧急求助!! 50

DataTable如图所示。计算id1和id2之间的weight,方法是当同时存在于一个post里时,weight+1;当在同一个时间同一个帖子发生时,weight+2者... DataTable如图所示。 计算id1和id2之间的weight,方法是当同时存在于一个post里时,weight+1;当在同一个时间同一个帖子发生时,weight+2者所包含帖子数的乘积。如:id1和id2同时存在于post1和post3,所以weight1=2;又因第3条数据(id1)和最后两条数据(id2)同时发生在一个帖子里的同一个时间点,weight2=1*2=2。所以,weight=weight1+weight2 。
自己想的是提取每个post和time为固定值的子表格,但是越套越乱了额,不知道这种思路是否可取?
各位大神求思路求代码啊 麻烦注释清楚方便学习 非常感谢
并不是database导入的数据 是从csv转过来的 所有没有database实体数据源存在
展开
 我来答
411129362
2013-05-29 · TA获得超过4189个赞
知道小有建树答主
回答量:822
采纳率:0%
帮助的人:980万
展开全部
            var query = from t in dt.AsEnumerable()
                        group t by new
                        {
                            t1 = t.Field<int>("id"),
                            t2 = t.Field<int>("post")
                        } into m
                        group m by new
                        {
                            t3 = m.Key.t2
                        }
                            into n
                            select new
                            {
                                Post = n.Key.t3,
                                Count = n.Count()
                            };

            int weight1 = query.Count(p => p.Count == 2);

weight1算法如上:



weight2实在没看懂你描述的什么意思;

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ce9f999
2013-05-29 · TA获得超过406个赞
知道小有建树答主
回答量:540
采纳率:100%
帮助的人:547万
展开全部
小兄弟,虽然你看到的是这些数据,但是datatable一般是从数据库转化,而来的,做这种统计运算,一般是在数据库里面通过sql写聚合函数,然后再读出来绑定到datatable上。当然如果你不想从数据源源头操作,也行,是通过DataTable.Select() 写条件语句,但是比较麻烦,要自己写一些子方法和判断条件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syht2000
高粉答主

2013-05-29 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
你这是数据库的数据吧,这样的话为什么不直接在数据库中select出来,比如weight1应该是
select sum(a.count) from (select count(*) as count from tablename group by id,post) a

weight2=1*2那个1我没看明白是什么意思,但应该是跟数据select count(*) from tablename group by id,time相关的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xy404750389
2013-05-29 · TA获得超过505个赞
知道小有建树答主
回答量:303
采纳率:0%
帮助的人:148万
展开全部
木看懂你要表达的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式