Menu
Coddy logo textTech

SUM עם CASE

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

אותו רעיון עובד עם SUM: והוא אפילו גמיש יותר. הCASE יכול להחזיר 1 עבור שורות תואמות ו־0 עבור כל השאר, או שהוא יכול להחזיר כל ערך מספרי כדי לתת משקל שונה לשורות.

SELECT
    SUM(CASE WHEN status = 'active' THEN 1 ELSE 0 END) AS active_count,
    SUM(CASE WHEN plan = 'pro' THEN amount ELSE 0 END) AS pro_revenue
FROM users

SUM(CASE … THEN 1 ELSE 0 END) ו־COUNT(CASE … THEN 1 END) נותנים את אותה תוצאה לספירה; בחרו בסגנון שהצוות שלכם מעדיף.

challenge icon

אתגר

קל

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

  • transactions: id, category, type, amount

type הוא 'sale' או 'refund'. עבור כל category החזר:

  • category
  • net_revenue: סכום ערכי המכירות פחות סכום ערכי ההחזרים

חשב את net_revenue בביטוי SUM(CASE …) יחיד, שבו ההחזרים תורמים את הסכום שלהם כמספר שלילי. מיין לפי net_revenue בסדר יורד.

נסו בעצמכם

SELECT category,
       -- SUM(CASE ...) אחד שבו החזרים נספרים כשליליים
FROM transactions
GROUP BY category
quiz iconבחנו את עצמכם

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

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

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