2

空白を描いたようです。次のように取得した販売リストがあります。

List<Sales> sales = ctn.Sales.Where(s => s.DateSold >= request.FromDate && s.DateSold <= request.ToDate).ToList();

販売リストのアイテムは次のようになります。

セール ID | 販売日 | 製品 ID | ショップID

レポートの一部として、最も売れやすい日を知らせる単純な文字列をユーザーに返したいと思います。

だから私がすべきことは、日ごとに売上をグループ化し、毎日のカウントを取得してから、どれが最も多いかを評価することだと思いますが、これを行う方法が正確にはわかりません.

誰でも助けることができますか?

4

3 に答える 3

12

でグループ化してからDateSold、カウントで並べ替えるだけです (これにより、グループに属するアイテムの数がわかります)。

salesByDay = sales.GroupBy(s => s.DateSold).OrderBy(g => g.Count());
于 2012-08-15T14:54:32.853 に答える
1

販売されたアイテムの正確な DateTime を DateSold に設定する場合、おそらく Date 部分を取り、それによってグループ化する必要があります

from sale in sales
group sale by sale.DateSold.Date into grouped
orderby grouped.Count()
select new {Date = grouped.Key, Count = grouped.Count()};
于 2012-08-15T14:56:01.330 に答える
0

これにより、売上が最も多い日付が得られます。

sales.GroupBy(x => x.DateSold).OrderByDescending(g => g.Count()).FirstOrDefault().Key;

于 2012-08-15T14:58:49.820 に答える