【问题标题】:LINQ Group by SUMSUM 的 LINQ 组
【发布时间】:2012-05-28 16:31:47
【问题描述】:

给定以下查询

Dim Query = From c In DB.Crt _
                        Where c.Member.Locked = False _
                        And c.Member.Verified = True _
                        And c.Ct > 0 _
                        Order By c.Ct Ascending _
                        Select New With {.MemberID = c.MemberID, _
                                         .Ct = c.Ct}

如何按c.ct 的 SUM 分组?

类似SUM OF(c.Ct) > 0

【问题讨论】:

  • 你应该根据一些属性运行 Sum 方法,什么是相关属性(似乎你的 ID 是唯一的,所以不同 ID 上的 sum 没有意义)。
  • 不错!现在我有两个问题!
  • 首先想一想运行 sum 方法的相关属性是什么,然后,编辑您当前的问题。
  • 您要按MemberID 分组并对Ct 值求和吗?

标签: vb.net linq linq-to-sql group-by


【解决方案1】:

试试这个:

Dim Query =
    From c In DB.Crt _
    Where c.Member.Locked = False _
    And c.Member.Verified = True _
    And c.Ct > 0 _
    Order By c.Ct Ascending _
    Group c.Ct By Key = c.MemberID Into Cts = Group _
    Select New With { .MemberID = Key, .Ct = Cts.Sum() }

【讨论】:

    猜你喜欢
    • 2012-11-25
    • 2015-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-11
    • 2012-01-29
    • 2014-06-21
    相关资源
    最近更新 更多