با سلام من میخوام اطلاعات سایت رو به صورت آرشیو بندی نمایش بدم مثلا
دی 1395
بهمن 1395
اسفند 1395
فروردین 1396
....
من از طریق کدی که پیدا کردم توستن به این صورت اطلاعات رو استخراج کنم
1395-10
1395-11
1395-12
1396-01
....
چطوری میتونم اسم ماه رو جاگزین کنم
متاسفانه دو مورد تو سایت هست که یکی mvc هست و یکی تحت فریم ورک کار میکنه من میخوام با دکد نویسی درش بیارم
کد فعلی
select * from ( select SUBSTRING([Date], 0, 8) m, count(*) as cnt from [dbo].[T_learning] group by SUBSTRING([Date], 0, 8) )d inner join ( select * from ( select *, row_number()over(partition by SUBSTRING([Date], 0, 8) order by [date] ) rnk from [dbo].[T_learning] )t where rnk = 1 )t on SUBSTRING(t.[Date], 0, 8) = d.m
و عکس خروجی هم اینطوری هست
تشکر
خدا سر شاهده میدونستم چون اینطوری میشه دقیقا نوشتم اونهایی که تو سایته فایده نداره و تحت فریم ورک هست
نمیشه این کار رو با t-sql انجام داد ( کوئری براش نوشت ) یا راه حل دیگه
بله میشه باید از GroupBy بر اساس تاریخ استفاده کنید تا بتونید آرشیو رو پیاده سازی کنید
SELECT COUNT(*) as TotalOrders,
YEAR(date) as OrderYear,
MONTH(date) as OrderMonth,
DateName(mm,DATEADD(mm,MONTH(date),0)) as [MonthName]
FROM T_Learning
GROUP BY YEAR(date), MONTH(date)
ORDER BY YEAR(date), MONTH(date)
این لینک رو ببینید
تشکر مهندس جان همون کد بالا خیلی عالی و راحت بود عکسش رو هم گرفتم شاید بدرد دیگر نفرات هم بخوره و بتونن استفاده کنن
ولی مثل همیشه که جواب میدید تشکر میکنم
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)