اجرای مقادیر تاخیر یا سرب (فقط برای داده های عددی) بدون استفاده از توابع پنجره تاخیر () یا سرب ()


نویسنده (ها): کامدی مهندرا

در ابتدا منتشر شده در به سمت هوش مصنوعیبشر

مفهوم دامنه سوابق در SQL با مبلغ یا متوسط

این داستان فقط عضو بر ما است. برای دسترسی به همه رسانه ها ارتقا دهید.

تصویر توسط نویسنده

توابع پنجره به روشهای مختلف به ما کمک می کند تا داده های مورد نیاز خود را در چند خط از نمایش داده های SQL پیدا کنیم.

بدون استفاده از توابع پنجره ، برای بازگشت داده های مورد نیاز خود ، ممکن است از پیوندها ، زیرمجموعه ها یا CTE ها استفاده کنیم که یک پرس و جو را بسیار پیچیده می کند.

به عنوان مثال ،

با توجه به جدول کارمندان با چندین جزئیات. آن دسته از کارمندان را که حقوق آنها بالاتر یا پایین تر از میانگین کلیه کارمندان کل سازمان یا متوسط ​​حقوق هر بخش است ، برگردانید.

ما می توانیم این نوع مشکل را با استفاده از توابع پنجره به راحتی حل کنیم. در غیر این صورت ، ما باید از پیوندها و زیرمجموعه ها یا CTE استفاده کنیم. کمی پیچیده موافق؟

برخی از توابع پنجره به ما این امکان را می دهد تا ضمن محاسبه هرگونه پاسخی که می خواهیم با استفاده از توابع پنجره محاسبه کنیم ، هرگونه سوابق را بدست آوریم.

بیایید ببینیم چگونه می توانیم این کار را انجام دهیم.

فرض کنید ما یک جدول جزئیات فروش داریم. اکنون باید سه روز پی در پی فروش کل را محاسبه کنیم.

بله ، ما می توانیم با در نظر گرفتن دامنه سوابق برای یافتن این نوع پاسخ ، از توابع پنجره استفاده کنیم.

یک کد نمونه در بلوک کد ذکر شده است.

*، جمع (sale_amount) را انتخاب کنید (سفارش توسط ردیف های sale_date بین 1 قبل و 1 مورد) از sales_table

اگر در بلوک کد فوق مشاهده می کنید ، … وبلاگ کامل را به صورت رایگان در رسانه بخوانیدبشر

منتشر شده از طریق به سمت هوش مصنوعی



منبع: https://towardsai.net/p/machine-learning/implementing-lag-or-lead-values-only-for-numeric-data-without-using-the-lag-or-lead-window-functions