c# - 显示组中每个元素的 3 个结果

标签 c# sql-server linq

我正在开发一个处理抄表的系统。

我想生成一个输出,其中系统显示属于客户的所有仪表以及每个仪表的最后三个读数。

到目前为止,我必须遵循以下代码:

 var lastMeterReading = from meeters in metermodel.Meeters
                              join reading in metermodel.Readings on meeters.MeterNumber equals reading.MeterNumber
                              where (maalers.CustNo == 6085574)
                              orderby reading.Date descending
                              group meeters by new { meeters.MeterNumber, reading.Consumption, reading.Date } into result
                              select new
                              {
                                  Consumption = result.Key.Consumption, No = result.Key.MeterNumber, Date = result.Key.Date
                              };

现在,它显示属于客户的所有仪表。如果我放一个 .take(3),它只会显示前 3 个结果。

谢谢! 丹尼尔

最佳答案

我认为您需要的是将 .Take(3) 放在正确的位置。 在你的情况下,你可能做了 result.Take(3) 但这意味着取前三组(及其所有元素)。

下面是试图说明我的意思,但是,我想你需要在最后一部分修复它,因为我没有数据来测试它,因此我不确定是什么我正在尝试访问此时可以访问。但我希望你明白我的意思。

var lastMeterReading = (from meeters in metermodel.Meeters
                       join reading in metermodel.Readings on meeters.MeterNumber equals reading.MeterNumber
                       where (maalers.CustNo == 6085574)
                       orderby reading.Date descending
                       group meeters by new { meeters.MeterNumber, reading.Consumption, reading.Date } into result
                       from m in result
                       select new {Key = m.Key, Info = result.OrderByDescending(r => r.Date).Take(3)})
                       .Select(r => new 
{ Consumption = r.Consumption, No = r.MeterNumber, Date = r.Date });

关于c# - 显示组中每个元素的 3 个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10760833/

相关文章:

mysql - 如果它们具有相同的行数,如何基于 order_id 内部连接表

sql-server - SQL Server : Msg 102, 级别 15,状态 1,第 2 行 '=' 附近语法不正确

c# - List.Contains 无法正常工作

c# - 为什么迭代字典的值以与插入相同的顺序返回,而它应该是不确定的?

javascript - 应用服务未获取JS发送的参数值

c# - 使用 C# 在 .csproj 文件中查找节点

c# - 在 C# 中过滤字符串时忽略重音字母

mysql - 如何在sql中获取表名和一列?

javascript - 将 linq 查询转换为 linqjs

c# - 获取随机子集合的最佳 LINQ 查询 - Shuffle