• 1402/01/08

کوئری استخراج پربازدید ترین محصولات در هفته گذشته :

سلام خسته نباشید.

من بازدید هر یک از محصولات رو به صورت روزانه زخیره می کنم. 

در واقع مشخص میشه که هر محصول در فلان تاریخ چقدر بازدید داشته...

حالا می خواهم 4 تا از پر بازدیدترین محصولات هفته اخیر رو استخراج کنم... برای اینکار باید چکار کنم؟

فیلدهای جدول بازدید

		[DisplayName("محصول")]
        public int ProductID { get; set; }

        [DisplayName("بازدید")]
        public int Visit { get; set; }

        [DisplayName("تاریخ")]
        [DisplayFormat(DataFormatString = "{0: yyyy/MM/dd}")]
        public DateTime VisitDate { get; set; }

ارتباط یک به چند وجود داره بین محصول و بازدید...

ممنون اگه راهنمایی بفرمایین.

  • 1402/01/08
  • ساعت 18:36

سلام دوست من وقتتون بخیر

دوست عزیزم شما باید بر اساس ایدی محصول group by انجام بدین و تعداد بازدید هر محصول رو بدست بیارید و بعد از  آن از متد Max استفاده کنید

با تشکر


  • 1402/01/08
  • ساعت 22:05

دمت گرم مهندس، شما سر نخ رو دادین تا تهش رو در اوردم. کد رو میزارم شاید بقیه هم نیازشون بشه

 db.Pages.Where(u => u.PageID== db.Pages.GroupBy(c => c.PageID).Select(g => new{
 g.Key,
 SUM = g.Sum(s => s.PeriodVPages.Where(a => a.VisitDate >= EntityFunctions.AddDays(DateTime.Now, -6)).Sum(t => t.Visit))
 }).OrderByDescending(a => a.SUM).Take(3).FirstOrDefault(a => a.Key == u.PageID).Key);

کوئری 3 صفحه پربازدید در 6 روز اخیر....


logo-samandehi