gpt4 book ai didi

c# - 在 LINQ 查询中包含百分比计算

转载 作者:太空宇宙 更新时间:2023-11-03 21:00:13 24 4
gpt4 key购买 nike

我正在尝试编写一个查询,根据下图计算非重复计数和百分比

到目前为止,我有一部分查询提供了每种颜色的 id 的不同计数,但是如何在结果中包含百分比和每一行?我首先需要计算不同计数的总和,但我无法将 Sum() 操作应用于结果(总结所有“IdCount”)

        var q = from data in this._data
group data by data.Field<string>("color") into groups
let name = groups.Key
let idGroups= from d in groups select d.Field<string>("id")
select new
{
Color = name,
IdCount = idGroups.Distinct().Count()

};

在哪里

this._data

private IEnumerable<DataRow> _data;

enter image description here

最佳答案

这是工作的 linqpad 版本:

    var _data = new List<Data>{
new Data {
id =1,
color="a",
},

new Data {
id =1,
color="a",
},

new Data {
id =2,
color="b",
}
};
var q = from data in _data
group data by data.color into groups
let name = groups.Key
let idGroups = from d in groups select d.id
select new
{
Color = name,
IdCount = idGroups.Count(),
Percent = Math.Round((decimal)idGroups.Count() / _data.Count, 2)
};

Console.WriteLine(q);

关于c# - 在 LINQ 查询中包含百分比计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46200087/

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