Asp.net 使用C查找Linq to SQL中的大多数实例#
我有下面的查询,它获取Name和TotalPoints,如下所示:Asp.net 使用C查找Linq to SQL中的大多数实例#,asp.net,c#-4.0,linq-to-sql,Asp.net,C# 4.0,Linq To Sql,我有下面的查询,它获取Name和TotalPoints,如下所示: var gradeData = (from data in oAngieCtxt.prc_ShopInstanceCustomersData(Convert.ToInt32(this.ShopInstanceID), 10000, false) .Where(row => row.RecievedPoints != "n/a")
var gradeData = (from data in oAngieCtxt.prc_ShopInstanceCustomersData(Convert.ToInt32(this.ShopInstanceID), 10000, false)
.Where(row => row.RecievedPoints != "n/a")
.GroupBy(row => new { row.Name })
.Select(g => new
{
TotalPoints = g.Sum(x => Convert.ToDouble(x.RecievedPoints) * (x.Weightage.ToString() == "0.00" ? 1 : Convert.ToDouble(x.Weightage))),
Name = g.Key.Name
})
select data).ToList();
我将有如下数据:
TotalPoints Name
5 A
10 B
5 C
15 D
5 E
如果我们遵守上面的列表,5是最常见的。我必须从“gradeData”中获取该值
我怎样才能得到它呢?下面的查询为您提供了最常见的点及其所有关联的名称:
var mostCommon = gradeData.GroupBy(x => x.TotalPoints)
.OrderByDescending(g => g.Count())
.Select(g => g.Key)
.First();
var result = gradeData.GroupBy(x => x.TotalPoints)
.OrderByDescending(x => x.Count())
.Select(g => new
{
TotalPoints = g.Key,
Names = g.Select(x => x.Name).ToList()
})
.First();
下面的查询提供了最常见的点及其所有关联名称:
var result = gradeData.GroupBy(x => x.TotalPoints)
.OrderByDescending(x => x.Count())
.Select(g => new
{
TotalPoints = g.Key,
Names = g.Select(x => x.Name).ToList()
})
.First();