2012-12-07 210 views

回答

3

完整的道具去Steven为此答案:https://stackoverflow.com/a/2432348/211627

from row in some_table 
group row by row.col4 into g 
select new 
{ 
    col1 = g.Sum(x => x.col1), 
    col2 = g.Sum(x => x.col2), 
    col3 = g.Sum(x => x.col1)/g.Sum(x => x.col2), 
    col4 = g.Key 
}; 
4

或者和λ,我假设some_table是一个实体或库..等

some_table.GroupBy(row => row.col4).Select(row => new 
{ 
    col1 = row.Sum(x => x.col1), 
    col2 = row.Sum(x => x.col2), 
    col3 = row.Sum(x => x.col1)/row.Sum(x => x.col2), 
    col4 = row.Key 
}); 
2

这是假设你的表是某种实体。这会将其放入一个Anonymous Type,但也可用于创建您自己的类型的对象。

myInitialCollection.GroupBy(x => x.Col4).Select(x => 
    new { 
      col1 = x.Sum(y => y.Col1), 
      col2 = x.Sum(y => y.Col2), 
      col3 = (x.Sum(y => y.col1)/x.Sum(y => y.col2)), 
      col4 = x.Key 
    });