gpt4 book ai didi

c# - 用于获取分组表中具有最大日期的行的 LINQ 查询

转载 作者:行者123 更新时间:2023-11-30 20:53:06 25 4
gpt4 key购买 nike

我有以下数据表结构

ID    Date            Vendor  Grade
1 20-nov-2013 xyz A
2 26-Apr-2013 abc B
1 21-nov-2013 pqr D
1 10-nov-2013 abc C
2 15-dec-2013 pqr A
2 20-May-2013 abc B

我想要将此表分组到 ID 列,然后选择具有最大 dateTime 值的行

此表的示例答案是

ID    Date            Vendor  Grade
1 21-nov-2013 pqr D
2 15-dec-2013 pqr A

到目前为止我已经尝试过跟随但不知道下一步该做什么

var chk = (from s in dt.AsEnumerable()
where s.Field<int>("ID") == 1 || s.Field<int>("ID") == 2
select s).GroupBy(k => k.Field<int>("ID")});

最佳答案

ID 对行进行分组,然后按日期 对每组行进行排序并选择第一行:

var chk = from r in dt.AsEnumerable()
let id = r.Field<int>("ID")
where id == 1 || id == 2
group r by id into g
select g.OrderByDescending(r => r.Field<DateTime>("Date")).First();

生产

ID    Date            Vendor  Grade
1 21-nov-2013 pqr D
2 15-dec-2013 pqr A

关于c# - 用于获取分组表中具有最大日期的行的 LINQ 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20264958/

25 4 0
文章推荐: javascript - 使用 material-ui 时出现 proptypes 错误
文章推荐: c - 不明白C中的内存冲浪
文章推荐: javascript - 如何使用 JavaScript 在可编辑的
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com