Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 25th, 2012  |  syntax: None  |  size: 0.82 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. MySQL query to return number 'zero' if no results
  2. SELECT SUM(TOTAL), SUM(5STAR), STORE, DATE
  3.     FROM `table` WHERE DATE >= '2012-02-24' GROUP BY TOTAL
  4.  
  5. MySQL returned an empty result set (i.e. zero rows)
  6.        
  7. DELIMITER $$
  8.  
  9. CREATE PROCEDURE `mc`.`new_routine` (IN DT DATETIME)
  10. BEGIN
  11.  
  12. IF EXISTS (SELECT 1 FROM `table` WHERE DATE >= @DT)
  13. THEN
  14.     SELECT SUM(TOTAL) AS SumTotal, SUM(5STAR) AS Sum5Star, STORE, `DATE`
  15.     FROM `table`
  16.     WHERE DATE >= @DT
  17.     GROUP BY TOTAL;
  18. ELSE
  19.     SELECT 0 AS SumTotal, 0 AS Sum5Star, NULL AS STORE, NULL AS `DATE`;
  20. END IF;
  21.  
  22. END
  23.        
  24. SELECT IFNULL(SUM(TOTAL,0) AS total, IFNULL(SUM(5STAR),0) AS FiveStar,
  25.        STORE, DATE
  26. FROM `table` WHERE DATE >= '2012-02-24' GROUP BY TOTAL
  27.        
  28. SELECT COALESCE(SUM(TOTAL),0), COALESCE(SUM(5STAR),0), STORE, DATE
  29. FROM `table` WHERE DATE >= '2012-02-24' GROUP BY TOTAL