【问题标题】:max and min rates for the particular area -lambda query特定区域的最大和最小速率 - lambda 查询
【发布时间】:2013-04-16 02:10:21
【问题描述】:

我的桌子看起来像-
  区域 MaxRate MinRate 季度年
    过境 1000 800 1 2013
    过境 900 700 2 2013
    穿越 800 600 3 2013
过境 700 500 4 2013 过境 600 500 1 2012 过境 550 450 2 2012 穿越 500 400 3 2012
过境 450 350 4 2012 内降 2000 1500 1 2013 内降 1800 1500 2 2013
 I want max and min rates for the particular area in current year as -

 **Area    MaxRate  MinRate       year**
 crossing  1000     500           2013

请帮我在 LINQ-lambda 表示法中找到查询

【问题讨论】:

    标签: linq entity-framework


    【解决方案1】:

    您可以使用GroupBy 来执行此操作:

    var results = table.GroupBy(row => new { Area = row.Area, Year = row.year })
                       .Select(g => new { 
                                           Area = g.Key.Area, 
                                           MaxRate = g.Max(i => i.MaxRate),
                                           MinRate = g.Min(i => i.MinRate),
                                           Year = g.Key.Year
                                        });
    

    【讨论】:

    • @Pradeep 它做的和你想要的有什么不同?
    • 它正在返回每年的记录。但是在您的解决方案的帮助下,我只尝试了 groupBy area & 问题得到了解决。感谢帮助。
    • @Pradeep 我提供的内容将按地区逐年执行-如果您只想按地区进行,请按地区分组。如果你只想要“今年”,你也可以在 group by 之前做.Where(row => row.Year == 2013)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2021-07-22
    • 1970-01-01
    相关资源
    最近更新 更多