استفاده از Rollup در Group By

آموزش پیشرفته کوئری نویسی - استفاده از Rollup در Group By
استفاده از Rollup در Group By، قسمتي از آموزش پیشرفته کوئری نویسی است، پيشنهاد مي شود، قبل از مطالعه ی استفاده از Rollup در Group By، قسمت های قبلی را مرور فرمایید.
استفاده از Rollup در Group By
اگر در دستور Group By نیاز داشته باشید که سرجمع کل به ازای هر کدام از سطوح گروه بندی را در نتیجه کوئری نشان دهید راه حل، استفاده از Rollup بعد از دستور Group By است.
مثال 1: در مثال زیر گروه بندی بر اساس شماره کارمند یعنی EmployeeID انجام شده است و چون از Rollup استفاده کرده ایم در انتهای جدول نمایش سرجمع سفارشاتی که هر کارمند ثبت نموده است نیز نمایش داده می شود:
Rollup
SELECT EmployeeID, COUNT(OrderHeaderID) AS COUNT_OrderHeaderID FROM Sales.OrderHeader --GROUP BY EmployeeID WITH ROLLUP GROUP BY ROLLUP (EmployeeID)
توجه: همان طور که در مثال بالا مشاهده می کنید، در SQL Server به دو روش می توانید از Rollup استفاده کنید. روش اول که در بالا Comment شده است، یعنی از کلمه کلیدی With Rollup در انتهای دستور Group By استفاده کنید و در روش دوم از کلمه کلیدی Rollup بالافاصله بعد از عبارت Group By استفاده می شود و در ادامه باید فیلدهای گروه بندی را داخل پرانتز باز و بسته محصور نمایید.
مثال 2: Group By چند سطحی:
Rollup روی گروه بندی چند سطحی
SELECT
SUBSTRING(OrderDate_Shamsi,1,4) AS Year_Shamsi,
SUBSTRING(OrderDate_Shamsi,6,2) AS Month_Shamsi,
COUNT(OrderHeaderID) AS COUNT_OrderHeaderID
FROM Sales.OrderHeader
GROUP BY SUBSTRING(OrderDate_Shamsi,1,4),SUBSTRING(OrderDate_Shamsi,6,2) WITH ROLLUP
HAVING COUNT(OrderHeaderID)>=200
سوال: چگونه می توان از بین سطرهای نمایش داده شده، سطری که مربوط به سرجمع است را تشخیص داد؟ در ادامه آموزش، استفاده از کلمه کلیدی GROUPING را برای دست یافتن به این موضوع فرا خواهید گرفت.
در ادامه آموزش "استفاده از Rollup در Group By" خواهيد ديد ...!
با خريد بسته آموزشي "استفاده از Rollup در Group By" موارد زير را در ادامه خواهيد دید:
- توضیحات بسیار جامع تر در مورد استفاده از Rollup در Group By توسط مدرس
- با چند مثال واقعی با استفاده از Rollup در Group By بیشتر آشنا خواهید شد.
مهندس مسعود طاهری، متخصص، مدرس و مشاور SQL Server و مباحث فوق پیشرفته بانک اطلاعاتی است و بعنوان کارشناس ارشد تحلیل و طراحی شرکت تجارت الکترونیک پارسیان (PECco) مشغول به فعالیت است. همچنین بعنوان مشاور SQL Server در شرکت مهندسی رایورز، مشاور SQL Server در سازمان کشتیرانی کل کشور، برنامه نویس و مدیر بانک اطلاعاتی شرکت ایده گستر (پیشرو در سیستمهای شهرداری و شهرسازی) به مدت ۶ سال فعالیت دارد.
توجه: کیفیت این محصول توسط بیـــاموز تضمین شده است. در صورت عدم رضایت شما، ۷۰ درصد مبلغ پرداختی به حساب بانکی شما بازگشت داده میشود.