Menu
Coddy logo textTech

פונקציות LEAD ו-LAG

שיעור 6 מתוך 13 בקורס SQL למתקדמים של Coddy.

הפונקציות Lead ו-Lag מאפשרות לנו לקבל את הערך של השורה הנוכחית בהיסט של n צעדים לאחור או n צעדים קדימה

לדוגמה, אם נרצה לחשב את היחס של חברה עבור השורה הנוכחית ולפני חודש אחד, נחלץ את הערך מלפני חודשיים:

idrevenuemonth
15325
24926
33937
47238
SELECT id, revenue, LAG(month, 1) OVER (ORDER BY MONTH) as prev_month_revenue
FROM table1 ORDER BY id

הפעולה הזו תיצור את הטבלה הבאה:

idrevenueprev_month_revenue
1532 
2492532
3393492
4723723

כך נוכל לחשב את היחס prev_month_revenue/revenue.

אם נשתמש במקום זאת בפונקציה LEAD, היא תיקח את החודש הבא של כל שורה:

idrevenuenext_month_revenue
1532492
2492393
3393723
4723 
challenge icon

אתגר

קל

מזגנים יכולים להיות יקרים מאוד. עם הזמן הם הפכו ליעילים וחזקים יותר, אבל את המשמעות של השיפורים האלה אי אפשר לראות מיום ליום. צריך להתרחק מעט כדי לראות את השיפורים לאורך זמן.

כדי לעשות זאת, חשבו את הממוצע של efficiency ושל strength של המזגנים עבור כל id ו-month. לאחר מכן, שלפו את היחס בין efficiency ל- strength עבור החודש הנוכחי ועבור החודשיים שלפניו. לבסוף, חשבו את היחס בין היחס של החודש הנוכחי ליחס של החודשיים שלפניו. החזירו את התוצאות שבהן היחס גדול מ-1.5. תנו לעמודה הזו את השם ratio_two_months.

נסו בעצמכם

כל השיעורים ביחידה SQL למתקדמים

תרגלו בעצמכם: קומפיילר Python אונליין