আমি এটি ব্যবহার করব:
SELECT Closing_Date = DATEADD(MONTH, DATEDIFF(MONTH, 0, Closing_Date), 0),
Category,
COUNT(Status) TotalCount
FROM MyTable
WHERE Closing_Date >= '2012-02-01'
AND Closing_Date <= '2012-12-31'
AND Defect_Status1 IS NOT NULL
GROUP BY DATEADD(MONTH, DATEDIFF(MONTH, 0, Closing_Date), 0), Category;
এটি প্রতি মাসের প্রথম দিকে গ্রুপ হবে so
`DATEADD(MONTH, DATEDIFF(MONTH, 0, '20130128'), 0)`
দেব '20130101'
। তারিখ হিসাবে তারিখ রাখার কারণে আমি সাধারণত এই পদ্ধতিটি পছন্দ করি।
বিকল্পভাবে আপনি এই জাতীয় কিছু ব্যবহার করতে পারেন:
SELECT Closing_Year = DATEPART(YEAR, Closing_Date),
Closing_Month = DATEPART(MONTH, Closing_Date),
Category,
COUNT(Status) TotalCount
FROM MyTable
WHERE Closing_Date >= '2012-02-01'
AND Closing_Date <= '2012-12-31'
AND Defect_Status1 IS NOT NULL
GROUP BY DATEPART(YEAR, Closing_Date), DATEPART(MONTH, Closing_Date), Category;
এটি আপনার কাঙ্ক্ষিত আউটপুটটি আসলে নির্ভর করে। (সমাপ্তির বছরটি আপনার উদাহরণে প্রয়োজনীয় নয়, তবে তারিখের সীমাটি যদি এক বছরের সীমানা অতিক্রম করে তবে তা হতে পারে)।