פונקציות RANK ו-DENSE_RANK
חלק מהיחידה יסודות במסלול ה-SQL של Coddy. שיעור 65 מתוך 72.
ROW_NUMBER() היא סוג אחד של פונקציית דירוג, ויש עוד שתיים: RANK() ו-DENSE_RANK().
הפונקציה RANK() ממספרת שורות כמו ROW_NUMBER(), אך היא מעניקה מספרים זהים לשורות זהות ומדלגת על מספרים. DENSE_RANK() דומה ל־RANK(), אך היא אינה מדלגת על מספרים.
לדוגמה:
| id | level |
| 1 | 5 |
| 2 | 6 |
| 3 | 6 |
| 4 | 7 |
| 5 | 7 |
| 6 | 5 |
SELECT id,
ROW_NUMBER() OVER (ORDER BY level) as row_num,
RANK() OVER (ORDER BY level) as row_rank,
DENSE_RANK() OVER (ORDER BY level) as row_dense_rank
FROM table1הפעולה תחזיר:
| id | row_num | row_rank | row_dense_rank |
| 1 | 1 | 1 | 1 |
| 6 | 2 | 1 | 1 |
| 2 | 3 | 3 | 2 |
| 3 | 4 | 3 | 2 |
| 4 | 5 | 5 | 3 |
| 5 | 6 | 5 | 3 |
הסבר:
ROW_NUMBER(): תמיד ייחודי: 1, 2, 3, 4, 5, 6RANK():- רמה 5 (2 שורות): שתיהן מקבלות דירוג 1
- רמה 6 (2 שורות): שתיהן מקבלות דירוג 3 (מדלג על 2)
- רמה 7 (2 שורות): שתיהן מקבלות דירוג 5 (מדלג על 4)
DENSE_RANK():- רמה 5 (2 שורות): שתיהן מקבלות דירוג 1
- רמה 6 (2 שורות): שתיהן מקבלות דירוג 2 (ללא דילוג)
- רמה 7 (2 שורות): שתיהן מקבלות דירוג 3 (ללא דילוג)
אתגר
קלטבלאות ועמודות זמינות:
medals:region,medal_color,medal_count
צרו שאילתה שמציגה את האזור, את מספר המדליות הכולל (סכום כל המדליות ללא קשר לצבע) ואת שני סוגי הדירוגים:
- דירוג
regular_rank(עם פערים) לפי סכום המדליות - דירוג
dense_rank(ללא פערים) לפי סכום המדליות
מיינו את התוצאה לפי:
order by total_medals desc, region ascנסו בעצמכם
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
2תנאים
יסודות התנאיםמילת המפתח ANDמילת המפתח ORמילת המפתח NOTשילוב של תנאים מרוביםסוגרייםערכים בוליאניים3פורמט החזרה ספציפי
ערכי Nullמיון תוצאות – חלק 1מיון תוצאות – חלק 2סיכום – חברת אבטחת סייברהגבלת מספר הרשומותסיכום – מפעל כלי רכב6אתגרי מבוא
חזרה – בחירות לפרלמנטחזרה – מעצר חשוד בידי המשטרהחזרה – כלי משקה בברחזרה – מהנדסים עמודות חדשות9טבלאות מרובות
JOIN בסיסי חלק 1JOIN בסיסי חלק 2סיכום – JOINJOIN עצמיסיכום – JOIN עצמיאיחוד (UNION)פישוט שאילתות באמצעות מילת המפתח WITHסיכום – שאילתות WITHסיכום – קבלן נדל״ן12פונקציות חלון חלק 2
פונקציות RANK ו-DENSE_RANKסיכום – RANK ו-DENSE_RANKפונקציית NTILEפונקציות צבירהקריטריון ROWS ו-RANGEתרגלו בעצמכם: SQL אונליין