继续我的上一篇文章:SQL 查询:仅显示每个集合中的最新 Id
我有以下 SQL 表:
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
我想从上表中提取的只是每个 Name 的最新 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
由于 Id 2 和 7 是表中 UserSet1 和 UserSet2 的最新条目,我想显示它而不是表中的所有条目。现在这已通过以下 LINQ 代码解决。现在我还有另一个要求,也就是显示所有 ID 为零的行(见上面的预期结果)。
var results = response
.GroupBy(row => row.Name)
.SelectMany(g => g
.OrderByDescending(row => row.Id)
.Take(1));
我如何修改我上面的 Linq,以便它显示所有最高的无名称 ID 以及任何为零的 ID。
谢谢
var results = response.GroupBy(row => row.Name)
.SelectMany(g => g
.OrderByDescending(row => row.Id)
.Take(1))
.Union(response.Where(x=>x.Id== 0));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句