2011-01-01 11 views
3

商品ごとに注文された月ごとの売上のリストを取得したい。月ごと、次に製品別にグループ化された売上

現在、私は、次のLINQクエリを持っている:私は私の注文テーブルから売上日付を取得し、月によっても、グループリストをするために行う必要がありますどのように

 var query = storeDB.OrderDetails 
      .Select(od => od) 
      .GroupBy(r => r.Product) 
      .Select(group => new ProductSalesModel { 
       Product = group.Key, 
       Sales = group.Sum(s => s.Quantity), 
       Amount = group.Sum(s => s.Quantity * s.UnitPrice) 
      }) 
      .OrderByDescending(x => x.Amount); 

?注文。作成日?

答えて

2

を使用することができます

.Select(group => new ProductSalesModel { 
       Product = group.Key.Product, 
       CreationDate = group.Key.CreationDate, 
       Sales = group.Sum(s => s.Quantity), 
       Amount = group.Sum(s => s.Quantity * s.UnitPrice) 
      }) 
+0

これは、月ではなく日付全体でグループ化します - 恐らく '.GroupBy(r => new {r.Product、r.CreationDate.Month})' –

0

何かによって注文したい場合は、グループに入れる必要があります。その後、

.GroupBy(r => new {r.Product, r.CreationDate}) 

とを選択したとき: その後、私はあなたが使用しようとしているかのLINQプロバイダ知らないが、プレーンのLINQで、これは動作するはずOrderByDescending(t=> t.amount).ThenBy(y => y.OrderDate)

+0

申し訳ありませんが、日付順に並べ替える必要はありません。私は質問を修正しました – Marc

関連する問題