C# Linq连接、组、计数,其中计数大于值
我有以下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
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。谢谢你的回复。