Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. DELIMITER |
  2.  
  3. DROP PROCEDURE IF EXISTS cppm|
  4. # COUNT patients per MONTH (5 LAST months)
  5. CREATE PROCEDURE cppm (OUT ototal INT)
  6. BEGIN
  7.     DECLARE i INT DEFAULT 5;
  8.     DECLARE items TABLE(smonth DATE, total INT);
  9.     DECLARE sdate DATE DEFAULT DATE_FORMAT(CURRENT_DATE(), '%Y-%c-01');
  10.     WHILE i > 0 DO
  11.  
  12.         SET i = i - 1;
  13.         SET sdate = DATE_SUB(sdate, INTERVAL 1 MONTH);
  14.         SELECT DISTINCT COUNT(Users.id) INTO RESULT
  15.         FROM gestcab_users AS Users
  16.         LEFT JOIN gestcab_roles AS Roles ON Users.role_id = Roles.id
  17.         WHERE Roles.slug = 'patient'
  18.         AND DATE(Users.created) < sdate AND
  19.         DATE(Users.created) >= DATE_SUB(sdate, INTERVAL 1 MONTH);
  20.         INSERT INTO items(smonth, total) VALUES(sdate, RESULT);
  21.  
  22.     END WHILE;
  23.  
  24.     SELECT SUM(total)  FROM items INTO ototal;
  25. END|
  26.  
  27. CALL cppm()|
  28. # SELECT @total|
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement