选择最大值列的完整行

时间:2011-11-03 11:19:29

标签: linq linq-to-sql

情况是,我有一张表,例如有10行。 我想计算“价格”列的值,并希望选择具有MAX价格的完整行。

var offer = (from p in dc.CustomerOffer
                                 join q in dc.OffersInBranch
                                     on p.ID equals q.OfferID
                                 where q.BranchID == singleLoc.ID
                                 select (p.OriginalPrice - p.NewPrice) * 100 / p.OriginalPrice).Max();

上面的代码只给出了MAX价格,我如何选择整行。 任何想法的家伙??

1 个答案:

答案 0 :(得分:1)

请尝试以下代码:

var offer = (from p in dc.CustomerOffer
                                 join q in dc.OffersInBranch
                                     on p.ID equals q.OfferID
                                 where q.BranchID == singleLoc.ID
            let value = (p.OriginalPrice - p.NewPrice) * 100 / p.OriginalPrice
            order by value desc
                                 select p).First()

注意:这是一个虚拟代码,它可能在语法上不正确。您可能需要根据您的要求调整查询。