重複の可能性:
1 つの LINQ クエリで 2 つの列の合計を取得する
この SQL クエリと同じ結果が得られる LINQ クエリの書き方を知る必要があります。
select sum(col1) as [col1] , sum(col2) as [col2] , sum(col1)/sum(col2) as [col3], col4 as [col4]
from some_table
group by col4
重複の可能性:
1 つの LINQ クエリで 2 つの列の合計を取得する
この SQL クエリと同じ結果が得られる LINQ クエリの書き方を知る必要があります。
select sum(col1) as [col1] , sum(col2) as [col2] , sum(col1)/sum(col2) as [col3], col4 as [col4]
from some_table
group by col4
または、ラムダで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
});
この回答については、完全な小道具がスティーブンに送られます: 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
};
これは、テーブルがある種のエンティティであることを前提としています。これは に配置され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
});