以下使用Northwind数据库并列出了包含四列的产品组:最低价,最高价,平均价和总价。
我如何按总价格排序?
var products = from product in Products
group product by product.Supplier into groupedProducts
//orderby groupedProducts.Key.TotalPrice;
select new
{
groupedProducts.Key.CompanyName,
LowestPrice = groupedProducts.Min(p => p.UnitPrice),
HighestPrice = groupedProducts.Max(p => p.UnitPrice),
AveragePrice = groupedProducts.Average(p => p.UnitPrice),
TotalPrice = groupedProducts.Sum(p => p.UnitPrice)
};
//order by groupedProducts.Key.TotalPrice;
答案 0 :(得分:4)
这应该有效:
var products = (from ... ).OrderBy(item => item.TotalPrice);
答案 1 :(得分:1)
这个怎么样?
var products = from product in Products
group product by product.Supplier into groupedProducts
let totalPrice = groupedProducts.Sum(p => p.UnitPrice)
orderby totalPrice
select new
{
groupedProducts.Key.CompanyName,
LowestPrice = groupedProducts.Min(p => p.UnitPrice),
HighestPrice = groupedProducts.Max(p => p.UnitPrice),
AveragePrice = groupedProducts.Average(p => p.UnitPrice),
TotalPrice = totalPrice
};