Linq分组多个条件

时间:2016-08-17 22:54:44

标签: c# linq

我有一个用SQL编写的查询,它可以运行,我试图将它移到适当的LINQ语句中,并且似乎无法使它完全正确。

SQL查询:

select sku
from Table
group by sku
having count(sku) > 1 and count(distinct(unit)) > 1

我到目前为止用LINQ

    var dupCount = (from val in dt.AsEnumerable()
                    group val by new {sku = val[4]} into grp
                    where grp.Count() > 1 && grp.unit.Distinct().Count() > 1
                    select grp).ToList();

我似乎无法弄清楚如何告诉群组中的哪个地方只用不同的“unitreserve”来拉取记录。

1 个答案:

答案 0 :(得分:1)

  

我似乎无法弄清楚如何告诉小组内的哪个地方只用不同的" unitreserve"来拉取记录。

Select" unitreverse"字段,应用Distinct然后Count

where grp.Count() > 1 && 
      grp.Select(dr => dr["unitreserve"]).Distinct().Count() > 1
相关问题