gpt4 book ai didi

c# - linq 分组两次

转载 作者:行者123 更新时间:2023-11-30 20:23:25 25 4
gpt4 key购买 nike

我们有一项调查。我有一个模型如下:

Survey
City
Satisfaction
Id

Satisfaction 是一个枚举如下:

Satisfaction: 
VerySatisfied,
Satisfied
Undecided,
NotSatisfied

我有兴趣按城市分组,然后我想按 VerySatisfied 和 satisfied 分组。

 var result= _db.Surveys.AsNoTracking()
.GroupBy(x => x.City)
.Select(group => new {
City = group.Key.Code,
CityName = group.Key.Name,
Count = group.Count()
})
.OrderByDescending(x => x.Count);

我可以按城市分组,但我需要找到城市内的满意度。

即:纽约:%90%。

如何按两次分组得到上面的结果?

最佳答案

你可以试试这个:

var result= _db.Surveys.AsNoTracking()
.GroupBy(x => x.City)
.Select(group => new
{
City = group.Key.Code,
CityName = group.Key.Name,
Count = group.Count(),
SatisfactionRatio = (group.Count(y => y.Satisfaction == Satisfaction.VerySatisfied || y.Satisfaction == Satisfaction.Satisfied) * 100) / group.Count()
})
.OrderByDescending(x => x.Count);

关于c# - linq 分组两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28959888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com