Menu
Coddy logo textTech

המרת שורות לעמודות

חלק מהיחידה מעבר ליסודות במסלול ה-SQL של Coddy. שיעור 14 מתוך 27.

שלבו צבירה מותנית עם GROUP BY כדי להפוך שורות לעמודות. זו הגרסה של SQL לטבלת ציר בגיליון אלקטרוני.

נניח של־sales יש שורות כמו (month, product, units). כדי לראות שורה אחת לכל חודש עם עמודה אחת לכל מוצר:

SELECT
    month,
    SUM(CASE WHEN product = 'A' THEN units ELSE 0 END) AS product_a,
    SUM(CASE WHEN product = 'B' THEN units ELSE 0 END) AS product_b
FROM sales
GROUP BY month

הדלי ש־GROUP BY רואה עבור כל SUM(CASE …) הוא השורות של חודש אחד; CASE בוחר את החלק עבור מוצר אחד.

challenge icon

אתגר

קל

טבלאות ועמודות זמינות:

  • sales: month, product, units

הפוך את הנתונים כך שכל שורה תהיה month אחד, עם העמודות האלה:

  • month
  • apples: סך כל ה־units עבור המוצר 'apples' באותו חודש
  • bananas: אותו הדבר עבור 'bananas'
  • cherries: אותו הדבר עבור 'cherries'
  • total: סך כל ה־units בכל המוצרים באותו חודש

החזר רק חודשים שבהם total הוא לפחות 20. מיין לפי month.

נסו בעצמכם

SELECT month,
       -- ביטוי SUM(CASE ...) אחד לכל מוצר, בתוספת הסכום הכולל
FROM sales
GROUP BY month
-- סנן לחודשים שבהם הסכום הכולל >= 20
ORDER BY month
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה מעבר ליסודות

תרגלו בעצמכם: SQL אונליין