繁体   English   中英

LINQ 多条件分组

[英]LINQ Group by multiple conditions

我有如下数据集。 脚本数据正在实时下载。

在此处输入图像描述

以下是我想要完成的任务。

  1. 用不同的脚本分隔行

  2. 按分钟对行进行分组

  3. 将那一分钟的买家总数和卖家总数相加

  4. 用前一分钟的最后一行减去当前分钟的最后一行的音量。

示例结果如下所示: 在此处输入图像描述

我开始写 LINQ group by,但无法得到最终结果。

请指导如何实现这一目标。

var dataHere = _context.MyScriptDatas.GroupBy(g => g.Script);

我知道我将不得不编写多个查询但无法理解顺序。 请帮忙。

试试这个

.GroupBy(x => new { x.Column1, x.Column2 })

前两点在我看来可以一起完成。 您想要按脚本和分钟对数据进行分组。 这可以通过使用这样的东西来完成:

var data = _context.MyScriptDatas.GroupBy(g => new {g.Script, g.DateTime.Minute});

对数据进行分组后,就可以开始对它们进行操作了。 如果你想 select 求和,你可以尝试这样的事情:

data.Select(g =>
   new
   {
       TotalBuyers = g.Sum(x => x.TotalBuyers)
   })

至于最后一点,和上面那一点很相似。 有人在这里问过这样的问题,检查一下: Calculate difference from previous item in a group with (single) LINQ query

祝你好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM