چندین Window Function رایج در SQL وجود دارد که برای کارهای تحلیلی مختلف مورد استفاده قرار میگیرند. در این بخش لیستی از پرکاربردترین Window Functionها آورده شده است و در بخش های بعدی از همین فصل، به توضیح همین موارد با مثال می پردازم. این بخش را به صورت جداگانه آوردم تا بعد از اینکه با این توابع آشنا شدید، بتوانید از این لیست برای تازه کردن ذهن تان استفاده کنید:
SUM | مجموع یک ستون عددی در فریم را محاسبه می کند. |
AVG | میانگین یک ستون عددی را در فریم محاسبه می کند. |
MAX | حداکثر مقدار را در فریم پیدا می کند. |
MIN | حداقل مقدار را در فریم پیدا می کند. |
COUNT | تعداد سطرهای درون فریم را می شمارد. |
ROW_NUMBER | یک عدد منحصر به فرد به هر ردیف در فریم اختصاص می دهد. |
RANK | یک رتبه منحصر به فرد به هر ردیف در فریم اختصاص می دهد. Tie همان رتبه را دریافت می کنند و رتبه بعدی حذف می شود. |
DENSE_RANK | یک رتبه منحصر به فرد به هر ردیف در فریم اختصاص می دهد. Tie همان رتبه را بدون شکاف دریافت می کنند. |
NTILE(n) | مجموعه نتایج را به n قسمت تقریباً مساوی تقسیم می کند و به هر ردیف یک عدد اختصاص می دهد. |
LEAD(ستون، n) | مقدار یک ستون را از n ردیف پس از ردیف فعلی در فریم بازیابی می کند. |
LAG (ستون، n) | مقدار یک ستون را از n ردیف قبل از ردیف فعلی در فریم بازیابی می کند. |
FIRST_VALUE | مقدار یک ستون مشخص شده را از ردیف اول در فریم برمی گرداند. |
LAST_VALUE | مقدار یک ستون مشخص شده را از آخرین ردیف در فریم برمیگرداند. |
PERCENT_RANK | رتبه نسبی هر سطر را به صورت درصد در فریم محاسبه می کند. |
CUME_DIST | توزیع تجمعی هر سطر را به صورت درصد در فریم محاسبه می کند. |
این Window Functionها معمولاً در SQL برای کارهایی مانند محاسبه aggregate ها، رتبه بندی ردیف ها، یافتن موقعیت های نسبی و انجام محاسبات تحلیلی مختلف استفاده می شوند. بسته به نیازهای خاص تجزیه و تحلیل داده های خود، می توانید Widnow Function مناسب را برای دستیابی به نتایج دلخواه خود انتخاب کنید.