gpt4 book ai didi

c# - 不简单的麦克斯

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

我有以下数据:

Id     | Value | OtherStuff
---------------------------
6 | 6 | 1
---------------------------
5 | 4 | 2
---------------------------
5 | 2 | 3

期望的结果:

Id     | Value | OtherStuff
---------------------------
6 | 6 | 1
---------------------------
5 | 4 | 2

也就是说,我需要每个 ID 的最大值。

我有点困惑如何在不将其分解为多个查询的情况下执行此操作,是否可以完成,如果可以如何完成?

更新:我想我把问题简单化了:

var query = from st in StockStakes
join o in Organisations on j.OrganisationId equals o.OrganisationId into oGroup
from o in oGroup.DefaultIfEmpty()
where st.Stock.Status == "A"
select new
{
Id = st.Id,
Value = st.Value,
CustomerId = o.OrganisationId
};

上面的数据样本仍然有效...现在我该如何构造查询以在每个 ID 旁边给我提供最大值?

最佳答案

var query = from x in data
group x by x.Id into x
select x.OrderByDescending(y => y.Value).FirstOrDefault()

基于您更新的查询,与第一个查询类似的方法,但是由于您有多个表,您需要将所有表分组到一个匿名对象中,然后仅选择您想要的列

var query = from st in StockStakes
join o in Organisations on j.OrganisationId equals o.OrganisationId into oGroup
from o in oGroup.DefaultIfEmpty()
where st.Stock.Status == "A"
group new { st, o } by st.Id into g
let largestValue = g.OrderByDescending(x => x.Value).FirstOrDefault()
select new
{
Id = g.Key,
Value = largestValue.st.Value,
CustomerId = largestValue.o.OrganisationId
};

关于c# - 不简单的麦克斯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31386717/

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