در این قسمت از آموزش اوراکل بعد از آموزش CUBE و ROLLUP قصد داریم آموزش کار با تابع ()GROUPING در اوراکل را یاد بگیریم.
برای شروع کار با تابع ()GROUPING در اوراکل ابتدا باید بدانیم که این تابع نام ستون به عنوان ورودی می پذیرد و دو مقدار ۰ و ۱ در خروجی نمایش میدهد.
اگر این تابع مقدار ۱ را برگرداند یعنی مقدار ستون خالی null می باشد و اگر مقدار ۰ برگرداند یعنی ستون دارای مقدار non-null یعنی مقدار خالی ندارد را نمایش میدهد و از این تابع ()GROUPING بیشتر در کوئری هایی که بخواهیم از CUBE و ROLLUP استفاده کنیم کاربرد دارد.
تابع ()GROUPING بیشتر زمانی کاربردی و مفید می باشد که اگر مقدار ستون موردنظر خالی باشد یا خیر را نمایش دهد.
استفاده از تابع ()GROUPING با یک ستون در ROLLUP
شما با استفاده از تابع ()GROUPING در کوئری می توانید مشخص کنید که کدام از ستون ها مقدار خالی null می باشد که در صورتی که خالی null باشد مقدار ۱ و درصئرتی که خالی نباشد مقدار ۰ را نمایش می دهد.

استفاده از تابع ()GROUPING در CUBE
در ادامه آموزش تابع ()GROUPING در اوراکل شما با استفاده از تابع ()GROUPING در کوئری های که شرط CUBE دارد اسنفاده کنید. با توجه مثال زیر

استفاده از شرط GROUPING SETS
شما می توانید از شرط GROUPING SETS برای جمع مقادیر رکوردهای ستون را بدست می آورد.

نکته مهم : به جهت افزایش کارایی و بهترکردن performance به طور کلی استفاده از شرط GROUPING SETS نسبت به شرط CUBE پیشنهاد می شود و در نتیجه اوراکل استفاده از GROUPING SETS را پیشنهاد می کند نسبت به CUBE.
استفاده از تابع ()GROUP_ID
شما می توانید با استفاده از تابع ()GROUP_ID رکوردهای تکراری که از شرط GROUP BY در خروجی نمایش میدهد را حذف کنید.
اگر مقدار n را تعداد دفعات نمایش رکوردهای تکراری باشد تابع ()GROUP_ID تعداد ۰ الی n-1 رکورد را در خروجی نمایش می دهد.

آموزش اوراکل در مورد مطلب : تابع ()GROUPING