C# Linq连接、组、计数,其中计数大于值

C# Linq连接、组、计数,其中计数大于值,c#,linq,count,conditional,linq-group,C#,Linq,Count,Conditional,Linq Group,我有以下linq表达式,它允许我连接两个表,通过一个DSCID对它们进行分组,然后获得分组值的计数: var qryGeoApppendCount = from a in append join g in geo on a.Field<string>("RNO") equals g.Field<string>("RNO") group

我有以下linq表达式,它允许我连接两个表,通过一个
DSCID
对它们进行分组,然后获得分组值的计数:

var qryGeoApppendCount =
              from a in append
              join g in geo
              on a.Field<string>("RNO")
              equals g.Field<string>("RNO")
              group g by g.Field<int>("DSCID") into appendGeo
              select new
              {
                DscId = appendGeo.Key,
                DscIdCount = appendGeo.Count()
              };
但这不起作用。每当
qryGeoAppendQuery
返回计数大于1的记录时,我需要能够抛出一个错误,因此理想情况下,查询将封装在if语句中。

var qrygeoappendcount=
var qryGeoApppendCount =
              (from a in append
              join g in geo
              on a.Field<string>("RNO")
              equals g.Field<string>("RNO")
              group g by g.Field<int>("DSCID") into appendGeo
              select new
              {
                DscId = appendGeo.Key,
                DscIdCount = appendGeo.Count()
              })
              .Where(a => a.DscIdCount > 1);
(来自附录中的a) 加入geo 关于a.字段(“RNO”) 等于g.场(“RNO”) 按g.Field(“DSCID”)将g分组为appendGeo 选择新的 { DscId=appendGeo.Key, DscIdCount=appendGeo.Count() }) 。式中(a=>a.DscIdCount>1);
var qryGeoApppendCount=
(来自附录中的a)
加入geo
关于a.字段(“RNO”)
等于g.场(“RNO”)
按g.Field(“DSCID”)将g分组为appendGeo
选择新的
{
DscId=appendGeo.Key,
DscIdCount=appendGeo.Count()
})
。式中(a=>a.DscIdCount>1);

你就不能

select new
{
  DscId = appendGeo.Key,
  DscIdCount = appendGeo.Where(n => n.Count > 1).Count()
};
或者如果你只是想知道有没有

select new
{
  DscId = appendGeo.Key,
  ThrowException = appendGeo.Any(n => n.Count > 1)
};

难道你就不能

select new
{
  DscId = appendGeo.Key,
  DscIdCount = appendGeo.Where(n => n.Count > 1).Count()
};
或者如果你只是想知道有没有

select new
{
  DscId = appendGeo.Key,
  ThrowException = appendGeo.Any(n => n.Count > 1)
};
var qryGeoApppendCount=
从附加中的
加入geo
关于a.字段(“RNO”)
等于g.场(“RNO”)
按g.Field(“DSCID”)将g分组为appendGeo
其中appendGeo.Count()>1
选择新的
{
DscId=appendGeo.Key,
DscIdCount=appendGeo.Count()
};
不能在select之前添加where子句吗?它在我的示例中起作用,但如果没有看到数据,我就不能确定。

var qryGeoApppendCount=
"SELECT  [SubsNumber], sum([Usage_MB])/1024 as GB FROM [VASCDR].[dbo].[nrmSubsDailyMBUsage] where SubsNumber ='" + textBox1.Text.Trim() + "'" group by [SubsNumber] ;
从附加中的 加入geo 关于a.字段(“RNO”) 等于g.场(“RNO”) 按g.Field(“DSCID”)将g分组为appendGeo 其中appendGeo.Count()>1 选择新的 { DscId=appendGeo.Key, DscIdCount=appendGeo.Count() };
不能在select之前添加where子句吗?在我的例子中,它是有效的,但如果没有看到数据,我不确定

"SELECT  [SubsNumber], sum([Usage_MB])/1024 as GB FROM [VASCDR].[dbo].[nrmSubsDailyMBUsage] where SubsNumber ='" + textBox1.Text.Trim() + "'" group by [SubsNumber] ;
是如何使用c语言实现的#


是如何使用c#

实现的,我希望计算连接表中出现重复DSCID值的位置,而不仅仅是连接表的记录计数是否大于1。非常感谢您的回复。我希望计算联接表中出现重复DSCID值的位置,而不仅仅是联接表的记录计数是否大于1。谢谢你的回复。