继续上一篇文章: SQL Query: Display only latest Id from each set
我有以下SQL表:
configurations {
all*.exclude group: 'com.android.support', module: 'support-v4'
}
我想从上表中提取的只是每个名称的最新ID,以便我可以得到以下输出
Name Description Id UserId CreatedDate
UserSet1 Desc1 0 Abc 06/01/2018
UserSet1 Desc2 1 Abc 06/01/2018
UserSet1 Desc4 2 Def 06/02/2018
UserSet2 Desc for 2 5 NewUser 06/04/2018
UserSet2 Desc for 2 7 NewUser 06/19/2018
自Id 2& 7是UserSet1&表中的最新条目。 UserSet2,我想显示而不是表中的所有条目。现在用以下LINQ代码解决了这个问题。现在我还有另一个要求,也要显示ID为零的所有行(参见上面的预期结果)。
Name Description Id UserId CreatedDate
UserSet1 Desc1 0 Def 06/01/2018
UserSet1 Desc2 2 Def 06/01/2018
UserSet2 Desc for 2 7 NewUser 06/19/2018
如何修改上面的Linq,以便显示所有名称中最高的ID以及任何ID为零的ID。
由于
答案 0 :(得分:1)
var results = response.GroupBy(row => row.Name)
.SelectMany(g => g
.OrderByDescending(row => row.Id)
.Take(1))
.Union(response.Where(x=>x.Id== 0));