我不认为这是重复的。我想返回多个记录,每个记录具有给定类型的最大日期。我能做到这几行我只是想知道它是否可以在一个中完成?
所以我有一张桌子
int, DateTime, varchar, int
id, date, message, type
1, 2000-1-1, hello, 2
2, 2000-1-2, goodby, 1
3, 2000-1-1, again, 1
有没有办法返回每种类型的最旧记录? 所以这将是记录id 2和id 1
答案 0 :(得分:1)
您可以按type
对数据进行分组,然后按date
对每个群组进行排序并获取第一项。
var result = yourTable.GroupBy(d => d.type)
.Select(g => g.OrderByDescending(x => x.date).First());