Menu
Coddy logo textTech

פונקציות צבירה

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

פונקציות צבירה משמשות לחישוב AVG() או MAX() או כל פונקציית צבירה אחרת עד לשורה הנוכחית.
לדוגמה, נוכל לחשב את ההכנסה המרבית שהתקבלה עד לכל תקופת סיום:

monthrevenue
440
520
660
755
861
SELECT month, revenue, MAX(revenue) OVER (ORDER BY month ASC) as max_revenue
from table1

הפעולה תחזיר:

monthrevenuemax_revenue
44040
52040
66060
75560
86161

בחודשים 4 ו־5 ההכנסה המרבית היא 40, בחודשים 5 ו־6 ההכנסה היא 60, ובחודש 8 היא 61. הסיבה לכך היא שכאשר נמצאת הכנסה חדשה וגדולה יותר, ההכנסה הישנה נזרקת ומשתמשים בגדולה ביותר עד כה.

עבור הפונקציה AVG(), התוצאה תיראה כך:

SELECT month, revenue, AVG(revenue) OVER (ORDER BY month ASC) as avg_revenue
from table1
monthrevenueavg_revenue
44040
52030
66040
75543.75
86147.2
challenge icon

אתגר

קל

בספרים יש עמודים רבים ובכל עמוד יש הרבה מילים.

באתגר הזה נחשב מדדים רבים ושונים על הספרים האלה.

אחזרו עבור כל ספר את המספר הכולל של המילים, את מספר המילים המרבי ואת מספר המילים המזערי, ואת מספר המילים הממוצע עד כל עמוד, וקראו לעמודות האלה: total_words, max_words, min_words, avg_words בהתאמה. בנוסף, דרגו את העמודים בדירוג צפוף (עבור כל ספר) לפי חישוב היחס: (avg_words-min_words)/(total_words-min_words) בסדר עולה עבור כל ספר, וקראו לעמודה זו ratio_rank. לבסוף, סדרו את התוצאה לפי book ואז לפי ratio_rank בסדר עולה.

נסו בעצמכם

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

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