以下にテーブルがあります-会社
id name value year
1 IBM 10 2011
2 IBM 30 2012
3 IBM 10 2012
4 C 10 2010
レコードを名前でグループ化し、各グループから最大idを持つレコードを 1 つだけ返します。すべての結果は、年が 2011 年より大きい linq を使用して企業のリストに結合されます。私の例では、出力は「3 IBM 10 2012」になります。
私は何かを書きましたが、動作しません。
var a = from x in companies where x.year > 2011
group x by new {x.name, x.value, x.ID, x.year } into g
select new {
g.Key.name,
g.Key.value,
g.Max(a=>a.ID),
g.Key.value
};
return a.ToList();