可能重复:
Get sum of two columns in one LINQ queryLINQ GROUP BY和SUM
我需要知道如何写一个LINQ查询,这将使我同样的结果,因为这SQL查询 :
select sum(col1) as [col1] , sum(col2) as [col2] , sum(col1)/sum(col2) as [col3], col4 as [col4]
from some_table
group by col4
可能重复:
Get sum of two columns in one LINQ queryLINQ GROUP BY和SUM
我需要知道如何写一个LINQ查询,这将使我同样的结果,因为这SQL查询 :
select sum(col1) as [col1] , sum(col2) as [col2] , sum(col1)/sum(col2) as [col3], col4 as [col4]
from some_table
group by col4
完整的道具去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
};
或者和λ,我假设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
});
这是假设你的表是某种实体。这会将其放入一个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
});