פונקציית ROW_NUMBER
שיעור 3 מתוך 13 בקורס SQL למתקדמים של Coddy.
פונקציות חלון משמשות לחישוב נתונים על השורה הנוכחית.
לדוגמה, מה אם נרצה לחשב את כל המשקאות שנרכשו עד 1995, 1997, 1999 וכן הלאה? מה אם נרצה למצוא את הספורטאי האולימפי הטוב ביותר בכל תקופה (2000, 2004, 2008)?
אולי הספורטאי הטוב ביותר בשנים 2000 ו-2004 הוא James, ובשנת 2008 הוא John, כי הוא טוב יותר מ-James.
אפשר לפתור את כל זה באמצעות פונקציות חלון.
ROW_NUMBER() OVER () ממספרת את השורות לפי קריטריון מסוים. הקריטריון צריך להופיע בתוך OVER (). אם לא מציינים קריטריון, השורות ימוספרו באותו סדר.
לדוגמה:
SELECT *, ROW_NUMBER() OVER () as row_num
FROM table1פעולה זו תוסיף עמודה בשם row_num, שהערכים בה יהיו מ-1 עד n (כאשר n הוא מספר השורות)
אתגר
קלשלוף את כל הנוזלים שצפיפותם גדולה מ־5.677.
מספר את התוצאה וקרא לעמודה הזו row_number
נסו בעצמכם
כל השיעורים ביחידה SQL למתקדמים
2פונקציות חלון חלק 1
פונקציית ROW_NUMBERקריטריון ORDER BYקריטריון PARTITION BYפונקציות LEAD ו-LAGאתגר חזרה #1אתגר חזרה #2תרגלו בעצמכם: קומפיילר Python אונליין