جمع تجمعی در SQL Server با استفاده از Window Function

جمع تجمعی در SQL Server با استفاده از Window Function

بدون دیدگاه
برای انجام جمع تجمعی در SQL Server در Query ها می‌توان از توابع Scalar Valued استفاده کرد. اگرچه این روش به منزله Refactor کردن دستورات و امکان استفاده مجدد از آن می‌باشد، ولی با استفاده از توابع  window که در SQL Server  از نسخه ۲۰۰۵ به بعد معرفی شده‌اند، می‌توان سریع‌تر اینگونه محاسبات را انجام داد. بدین منظور کافی است از عبارت

OVER(…..)

بعد از Aggregate  Function ها استفاده کنید. قطعه کد زیر را که جمع تجمعی در SQL Server​ را نمایش می دهد، در نظر بگیرید:

SELECT
          p.LoanID,p.PlanDate,p.Amount,
          SUM(p.Amount) OVER(partition by p.LoanID ORDER BY p.PlanDate) AS PaymentSubtotal
FROM Accounting.LoanPaymentPlan p

با استفاده از این روش، بدون نیاز به استفاده از تابع تعریف شده توسط کاربر یا همان User Defined Scalar Valued Function می توان جمع تجمعی را به سادگی انجام داد.

آواتار کاربر

شهاب ساری اصلانی

از سال 1385 به صورت جدی مشغول تدریس در حوزه های برنامه نویسی دات نت و طراحی بانک های اطلاعاتی بوده ام. تدریس به عنوان یک حرفه همیشه برایم جذاب بوده و یادگیری جدیدترین مباحث لذت بخش است.

ارسال یک دیدگاه

آدرس ایمیل شما منتشر نخواهد شد.