נגישות       נגישות
שינוי גודל טקסט:
א א א
שינוי צבעי האתר:
? מקשי קיצור:

לחיצה חוזרת ונשנית על המקש Tab תעביר אתכם בין הקישורים והאזורים השונים בעמוד.

הפעלת מקשי הקיצור תלויה בדפדפן שבו אתם משתמשים.

Internet Explorer, Chrome ובגרסאות ישנות של Firefox: לחצו על מקש Alt ועל מקש המספר או האות על-פי הרשימה. ב Firefox 3 ומעלה: לחצו על המקשים Alt + Shift + המספר או האות.

S - עבור לתוכן הדף
L - חיפוש
1- עמוד הבית
2 - פרוייקטים
3 - מדריכים
4 - אודות
5 - צרו קשר
6 - הצהרת נגישות
 

פונקציות מקבצות של SQL

מחבר:
בתאריך:

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

הדוגמאות במדריך זה מבוססות על טבלת SQL שאותה ניתן להוריד מהקישור המצורף:

להורדה

 

COUNT()

אם נרצה לקבל את מספר הרשומות בטבלה נשתמש בפונקציה- COUNT() , עם שם עמודה . לדוגמה,

SELECT COUNT( * )
FROM `workers`

והתוצאה בהתאם:

COUNT(*)
13

כמו לכל עמודה רגילה, ניתן לתת גם לעמודה שהיא תוצאה של פונקציות מקבצות, שם ידידותי באמצעות AS:

SELECT COUNT( * ) AS count
FROM `workers`

והתוצאה בהתאם:

count
13

כשמשתמשים בפונקציות מקבצות, צריך לשים לב לכך ש-NULL הוא לא אפס, אלא העדר ערך. המשמעות של זה היא רבה מפני שפונקציות מקבצות לא יתחשבו ברשומות שערכם NULL. לדוגמה, כשנריץ את הפונקציה COUNT() על העמודה num_childs, הפונקציה תחזיר רק את מספר השורות שאינן NULL. נריץ את השאילתה:

SELECT COUNT( num_childs )
FROM `workers`

שתחזיר:

COUNT(num_childs)
11

11 כמספרם של העמודות שאינם NULL.

 

פונקציות מקבצות נוספות

פונקציות מקבצות מועילות נוספות הם AVG, שמחזיר את ממוצע העמודה שעליה הוא פועל.

SELECT AVG( `num_childs` )
FROM `workers`

והתוצאה:

AVG(`num_childs`)
2.0

הפונקציה SUM() מחזירה את סכום העמודה. לדוגמה:

SELECT SUM( `num_childs` )
FROM `workers`

והתוצאה:

SUM( `num_childs` )
22

22 הוא סך כל הילדים של כל עובדי החברה.

הפונקציות MIN ו-MAX מחזירות את הערך המינימלי והמקסימלי בהתאמה. לדוגמה:

SELECT MIN(`num_childs`),MAX(`num_childs`)
FROM `workers`

והתוצאה בהתאם:

MIN( `num_childs` ) MAX( `num_childs` )
0 4

 

הפקודה GROUP BY

הפונקציה GROUP BY מקבצת את הנתונים לקבוצות. לדוגמה, אם נרצה לחלק את הנתונים שלנו לקבוצות לפי מספר הילדים שיש לכל הורה, ואז לקבל חזרה את מספר ההורים בכל קבוצה, נוכל לעשות זאת בקלות אם נשתמש ב-GROUP BY :

SELECT `num_childs` , COUNT( * ) AS count
FROM `workers`
GROUP BY `num_childs`

והתוצאה:

num_childs count
4 2
3 2
2 3
1 2
0 2

 

שימוש ב- HAVING

כדי להגביל את הקבוצות המוחזרות לנו מפונקציות מקבצות, נשתמש ב- HAVING. לדוגמה, כדי להגביל את תוצאת השאילתה שלנו להורים שיש להם שלושה ילדים או פחות מכך, נשתמש בשאילתה הבאה:

SELECT `num_childs` , COUNT( * ) AS count
FROM `workers`
GROUP BY `num_childs`
HAVING `num_childs` <=3

והתוצאה:

num_childs count
3 2
2 3
1 2
0 2

 

מה מספר הקבוצות בשאילתה?

כדי לקבל את מספר הקבוצות, נשתמש ב-DISTINCT , מפני שהוא מחזיר רק תוצאות ייחודיות, ומתעלם מתוצאות כפולות.

SELECT COUNT( DISTINCT `num_childs` ) AS num_childs
FROM `workers`

והתוצאה:

num_childs
5

5 קבוצות.

לכל מדריכי ה- mySQL

 

הוסף תגובה חדשה

 

= 9 + 2