
Group By.Min(UnitPrice) נותן את המחיר הנמוך ביותר (2.5), Max את הגבוה, ו-Avg את הממוצע. מתקבלת שורה אחת, והכינוי נקבע עם as, למשל MinimumPrice.Count(עמודה): סופרת רק רשומות שאינן NULL. ב-Customers, Count(Region) נותן 31.Count(*): סופרת את כל הרשומות, והתוצאה היא 91 לקוחות. ההפרש בין 91 ל-31 הוא הלקוחות בלי Region.Sum: מסכמת את הערכים. המרצה מציין שאין היגיון אמיתי לסכום מחירים, וזה רק לדוגמה.Group By SupplierID, הפונקציה מחושבת בנפרד לכל קוד ספק, ולא על כלל הרשומות. כך מתקבלים 29 ממוצעים, כי יש 29 ספקים. אפשר להציג את SupplierID לצד Avg(UnitPrice), ולהוסיף עוד פונקציות כמו Min ו-Max באותה שאילתה. אפשר לפרוס שאילתה על כמה שורות.הטקסט המלא של הדקות הראשונות בהרצאה «שימוש בפונקציות Grouping» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
סוג נוסף של פונקציות שהוא די נדרש נקרא aggregate functions ויש לזה עוד שם group functions. בואו נבין מה בעצם הפונקציות האלה יודעות לבצע.
Select unit price from products. נריץ, הנה יש לנו פה את עמודת כלל המחירים. עכשיו מה שאנחנו רוצים לבצע זה להפעיל פונקציה אבל הפונקציה הזאת מופעלת לא על מחיר מחיר מחיר מחיר כמו סקלר פאנקשן לדוגמה פונקציית סילינג פעלה על כל מחיר בנפרד.
אנחנו רוצים להפעיל פונקציה על קבוצה של מחירים לכן זה נקרא גרופ פאנקשן או אגריגייט שאגריגייט זה קיבוץ של כמה נתונים יחד.
לדוגמה אנחנו רוצים למצוא את המחיר המינימלי זה יהיה מין unit price. בואו נריץ, הוא אומר לי המחיר המינימלי 2.5. בואו ניתן לזה שם as minimum price בואו נמצא את המחיר המקסימלי.
זה יהיה מקסימום פרייס. אנחנו עובדים בעצם על כלל המחירים ומכלל המחירים חוזרת תוצאה אחת. זה לא אותו הדבר כמו פונקציה סקלרית, זאת פונקציית גרופינג.
יש לנו כמובן Average, בואו נגדיר כאן Average Price. זה הממוצע של כל המחירים. פונקציה מאוד מאוד נדרשת, נקראת Count, זה Total Prices.
והיא מחזירה לי כמה רשומות יש שהם לא נאלים. אנחנו יכולים לראות את זה לדוגמה אם אנחנו אומרים לו תחזיר לנו את ה-region שדיברנו עליו מקודם, total regions ב-Customers.
אז הוא אומר לנו שיש לנו 31 Regions שהם לא נאלים. אם אנחנו רוצים לדעת כמה סך הכל פריטים יש, כמה סך הכל הרשומות, אז אנחנו משתמשים ב-Count כוכבים ויהיה Total Customers.
יש לנו 91 לקוחות אבל רק 31 Regions שהם לא נאלים. Total Non-Null Regions זה בעצם היותר מדויק. אז אם אני רק רוצה לבדוק כמה רשומות יש זה Count כוכבית.
יש לנו גם כמובן Sum אם אנחנו רוצים לסכום משהו למרות שאין כל כך היגיון בלסכום את כל המחירים אבל רק לצורך הדוגמא some prices וזה הסכום של כלל המחירים.
עכשיו מה שמיוחד בפונקציות האלה זה שאנחנו יכולים להפעיל אותם על קבוצה של ערכים ולא על כלל הערכים. כלומר תת קבוצה. בואו ניקח את ה-average.
יש לנו ממוצע ורשמנו פה average price. אז הוא אומר לי תשמע, מכלל המחירים הממוצע הוא 28 נקודה משהו ואנחנו יכולים להגיד לו תשמע תעשה לי בבקשה group by supplier זאת אומרת באותה טבלה של הפרודקטס כי אנחנו מתייחסים כרגע לטבלה של הפרודקטס יש גם קוד ספק כל ספק יש לו קוד ייחודי תקבץ לי את זה בבקשה בואו נשים את זה רגע כאן לפי
קוד הספק זאת אומרת קוד ספק אחד עבורו תבצע average קוד ספק 2 עבורו תבצע Average. ברגע שאתם