C# LINQ按特定列中每个唯一值的最高值排序
我试图弄清楚如何使用linq在一个名为bids的表中选择领先的出价 结果需要对每个唯一的userId进行最高出价,并显示按bidValue排序的结果 投标表格:C# LINQ按特定列中每个唯一值的最高值排序,c#,linq,C#,Linq,我试图弄清楚如何使用linq在一个名为bids的表中选择领先的出价 结果需要对每个唯一的userId进行最高出价,并显示按bidValue排序的结果 投标表格: bidId 1, userid 1, bidValue = 10 bidId 2, userid 2, bidValue = 20 bidId 3, userid 3, bidValue = 20 bidId 4, userid 1, bidValue = 30 bidId 5, userid 2, bidValue = 40 bidI
bidId 1, userid 1, bidValue = 10
bidId 2, userid 2, bidValue = 20
bidId 3, userid 3, bidValue = 20
bidId 4, userid 1, bidValue = 30
bidId 5, userid 2, bidValue = 40
bidId 6, userid 1, bidValue = 50
结果:
bidId 6, userid 1, bidValue 50
bidId 5, userid 2, bidValue 40
bidId 3, userid 3, bidValue 20
像这样的东西应该有用
var query = (from bid in context.Bids
group bid by bid.userid into bidg
select new
{
bidId = bidg.OrderByDescending(b => b.bidValue).First().bidid,
userid = bidg.Key,
bidValue = bidg.Select(b => b.bidValue).Max()
}).OrderByDescending(b => b.bidvalue);
我想你的第二行应该是userid2?在结果示例中可能是重复的,顺序是由用户idI确定的,可能是错误的,但我的理解不同。我以为他想要按比德值订购