יום שני, 25 בפברואר 2013

count של כמה ערכים בשאילתא אחת ב - SQL

לעיתים אנחנו רוצים לספור כמה ערכים שונים בשאילתא אחת ב - MySQL. שליפה של סט נתונים מתוך טבלא בבסיס הנתונים, ומתוך הספירה הכללית COUNT(*)  לספור תתי נתונים.

שיטה חמודה לעשות זא, באמצעות CASE WHEN ב- MySQL.

SELECT    
     date(stime),
     COUNT(salesid),
     SUM(CASE status WHEN 'done' THEN 1 ELSE 0 END) as TotalDone,
     SUM(CASE status WHEN 'remaining' THEN 1 ELSE 0 END) as TotalRemaining,
     SUM(CASE status WHEN 'cancelled' THEN 1 ELSE 0 END) as TotalCancelled
FROM  sales
GROUP BY date(stime)

mysql multiple count in single query - stack overflow

אין תגובות:

פרסום תגובה