לעיתים אנחנו רוצים לספור כמה ערכים שונים בשאילתא אחת ב - MySQL. שליפה של סט נתונים מתוך טבלא בבסיס הנתונים, ומתוך הספירה הכללית COUNT(*) לספור תתי נתונים.
שיטה חמודה לעשות זא, באמצעות CASE WHEN ב- MySQL.
שיטה חמודה לעשות זא, באמצעות 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)
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
Comments
Post a Comment