SHOW:
|
|
- or go back to the newest paste.
1 | DELIMITER | | |
2 | ||
3 | DROP PROCEDURE IF EXISTS cppm| | |
4 | # Count patients per month (5 last months) | |
5 | - | CREATE PROCEDURE cppm () |
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 * FROM items; |
24 | + | SELECT Sum(total) FROM items INTO ototal; |
25 | END| | |
26 | ||
27 | CALL cppm()| | |
28 | # SELECT @total| |