Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c-按和分组,Linq中有两个计数_C#_Linq_Group By_Having - Fatal编程技术网

C# c-按和分组,Linq中有两个计数

C# c-按和分组,Linq中有两个计数,c#,linq,group-by,having,C#,Linq,Group By,Having,如何使用Linq在C中编写以下查询 SELECT MAX(A2.LINHA_PLANILHA) FROM MD_IMP_FORCA_VENDA_DADOS_A2 A2 WHERE A2.LINHA <> '0' AND TRIM(A2.SETORES) IS NOT NULL AND A2.LINHA_PLANILHA <> 1 AND USUARIO = V_USUARIO GROUP BY A2.LINHA, A2.BRICK HAVING

如何使用Linq在C中编写以下查询

SELECT MAX(A2.LINHA_PLANILHA)
FROM MD_IMP_FORCA_VENDA_DADOS_A2 A2
WHERE A2.LINHA <> '0' 
    AND TRIM(A2.SETORES) IS NOT NULL
    AND A2.LINHA_PLANILHA <> 1
    AND USUARIO = V_USUARIO
GROUP BY A2.LINHA, A2.BRICK
HAVING COUNT(A2.BRICK) > 1 AND COUNT(DISTINCT A2.SETORES) > 1;
我想这样做:

var result = from r in dataTable.AsEnumerable() 
where r.Field<string>(1) != "0" 
    && r.Field<string>(2).Trim() != null 
    && r.Field<Int32>(0) != 1 
group r by new {Linha = r.Field<string>(1), Brick = r.Field<string>(3) } into temp 
where temp.Count() > 1 
select new { MaxLinha = (from r2 in temp select r2.Field<Int32>(0)).Max()}; 
但我不知道如何在Linq查询中使用have子句的两个计数

任何帮助都将不胜感激

谢谢

扎戈

也许:

var query = db.MD_IMP_FORCA_VENDA_DADOS_A2
    .Where(x => x.LINHA  != "0" 
             && x.SETORES != null 
             && x.SETORES.Trim() != ""
             && x.LINHA_PLANILHA <> 1
             && x.USUARIO = x.V_USUARIO
    ) 
    .GroupBy(x => new { x.LINHA, x.BRICK })
    .Where(g => g.Count() > 1 && g.Select(x => x.SETORES).Distinct().Count() > 1)
    .Select(g => g.Max(x => x.LINHA_PLANILHA));

一个问题:你试过什么?@Thomas问你自己是否真的试过LINQ表达法?通常,这个论坛是为了寻求关于为什么特定代码不起作用的帮助。很抱歉我的困惑和错误…我用我想做的编辑了我的帖子。