var query = from t in dt.AsEnumerable()
group t by new
{
t1 = t.Field("id"),
t2 = t.Field("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实在没看懂你描述的什么意思;
小兄弟,虽然你看到的是这些数据,但是datatable一般是从数据库转化,而来的,做这种统计运算,一般是在数据库里面通过sql写聚合函数,然后再读出来绑定到datatable上。当然如果你不想从数据源源头操作,也行,是通过DataTable.Select() 写条件语句,但是比较麻烦,要自己写一些子方法和判断条件。
你这是数据库的数据吧,这样的话为什么不直接在数据库中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相关的。
木看懂你要表达的问题