c# LINQ Query:分组后的平均值

发布于 2024-10-20 02:53:06 字数 560 浏览 1 评论 0原文

假设我有一个包含多列的数据表。

我想对日期列进行分组,对于每个日期,我想计算出结果列的平均值。

我有以下代码,但未按预期工作:

var results = from res in dt.AsEnumerable()
                      group res by res.Field<string>("operation_time")
                          into grp
                          orderby grp.Key
                          select new
                          {
                              date = grp.Key,
                              sum = grp.Average(r => r.Field<double>("result"))
                          };

有人可以建议我如何做到这一点吗?

Say I have a datatable with a number of columns.

I want to group the date column and for each date, I want to work out the average value of the result column.

I have the following code which is not working as expected:

var results = from res in dt.AsEnumerable()
                      group res by res.Field<string>("operation_time")
                          into grp
                          orderby grp.Key
                          select new
                          {
                              date = grp.Key,
                              sum = grp.Average(r => r.Field<double>("result"))
                          };

Could somebody advise how I can do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浪菊怪哟 2024-10-27 02:53:06

您按 operation_time 字段作为字符串进行排序,这不太可能是您想要的。

您应该使用各自的 Parse 方法将其解析为 intDateTime

You're sorting by the operation_time field as a string, which is unlikely to be what you want.

You should parse it into an int or DateTime using their respective Parse methods.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文