دوال النوافذ
في هذا الدرس 4 موضوعات
هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.
نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.
في هذا الدرس
compute per-row values over a group of rows without collapsing them.
الموضوعات المخطط لها
GROUP BYreturns one row per group; a window function keeps every row and adds a computed column.OVER (PARTITION BY ... ORDER BY ...)defines the window.- Ranking:
ROW_NUMBER(unique),RANK(ties share, gaps follow),DENSE_RANK(no gaps). LAG/LEADread the previous/next row;sum(...) OVER (ORDER BY ...)gives a running total.- You cannot filter on a window result in
WHERE; wrap it in a CTE or subquery.
تفاصيل المخطط المبدئي
عرض عملي
SELECT day, revenue,
sum(revenue) OVER (ORDER BY day) AS running_total,
revenue - lag(revenue) OVER (ORDER BY day) AS change
FROM daily_sales;اختبر فهمك
Which keeps all rows: GROUP BY or a window function?
أظهر الإجابة
The window function.
التطبيق
طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.
تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.