私はあらゆる方法を試し、あらゆる場所を調べました。これは本当にばかげているので、私はイライラしています。各グループのマックスが欲しい。以下の記録があります。
ID Custno paydt rcvDt Mon Tue
17 106505 2009-12-31 00:00:00.000 2012-07-11 07:15:04.523 100 3
18 106505 2009-12-31 00:00:00.000 2012-07-11 07:15:04.543 NULL NULL
19 106505 2010-12-31 00:00:00.000 2012-07-11 07:15:04.747 3 3
20 106505 2011-12-31 00:00:00.000 2012-07-11 07:15:04.827 3 3
結果は Custno と paydt でグループ化し、最大 ID で返す必要があります
ID Custno paydt rcvDt Mon Tue
18 106505 2009-12-31 00:00:00.000 2012-07-11 07:15:04.543 NULL NULL
19 106505 2010-12-31 00:00:00.000 2012-07-11 07:15:04.747 3 3
20 106505 2011-12-31 00:00:00.000 2012-07-11 07:15:04.827 3 3
別の方法を試しましたが、そのうちの1つが以下です
var q = from x in MyTable.ToList()
group x by new { x.custno, x.paydt } into g
select new MyTable
{
custno= g.Key.custno,
paydt= g.Key.paydt,
ID = g.Max(b => b.ID),
rcvDt = g.OrderByDescending(a => a.ID).First().rcvDt ,
mon = g.OrderByDescending(a => a.ID).First().mon,
tue = g.OrderByDescending(a => a.ID).First().tue
};
助けていただければ幸いです!