具有计数的多列的Linq查询组> 1

时间:2017-02-17 15:07:38

标签: c# linq grouping

我有一个查询,我知道如何在SQL中做,但很难弄清楚LINQ查询。这是SQL。

SELECT ordNo, tranNo, COUNT(distinct custNo)
FROM orders
GROUP BY ordNo, tranNo
HAVING COUNT(distinct custNo) > 1

我觉得这不是我看到你标记为副本的同一个问题。链接的问题仅限于单个属性。我已经忘记了我尝试过的Linq查询,但这里有一个。

var countList = from o in orders
            group o by new {o.orderNo, o.tranNo, o.custNo}
            into grp
            where grp.Key.custNo.Distinct().Count() > 1
            select grp;

我尝试了下面的建议,但有人评论说你无法访问custNo属性。

1 个答案:

答案 0 :(得分:0)

因为我不知道表结构,所以只是spitballing。

context.orders
    .GroupBy(o => new { o.ordNo, o.tranNo, o.custNo })
    .Where(o => o.custNo.Distinct().Count() > 1)
    .Select(o => new {
        ordNo = o.ordNo,
        tranNo = o.tranNo
    });