Come ha detto @JagaSrik, sono necessarie maggiori informazioni sui dati e sulle tabelle per dare la risposta giusta. Tuttavia, se è necessario modificare una tabella come questa:
name | date | id
-----------------------------------------
total Inscription | 2017-07-10 | 2
total Inscription | 2020-04-20 | 2
total Inscription | 2020-04-21 | 3
total Inscription | 2020-06-17 | 4
total Inscription | 2020-06-18 | 2
a qualcosa del genere:
date | total
-----------------------------------------
2017-07-10 | 2
2020-04-20 | 4
2020-04-21 | 7
2020-06-17 | 11
2020-06-18 | 13
puoi usare CURSOR .
Per questo esempio:
DELIMITER $$
CREATE PROCEDURE `countIds`()
BEGIN
DECLARE finished INTEGER DEFAULT 0;
DECLARE total INTEGER DEFAULT 0;
DECLARE theCount INTEGER DEFAULT 0;
DECLARE theDate varchar(100) DEFAULT "";
DEClARE curCount
CURSOR FOR
SELECT `id`,`date` FROM table1;
DECLARE CONTINUE HANDLER
FOR NOT FOUND SET finished = 1;
OPEN curCount;
getCount: LOOP
FETCH curCount INTO theCcount,theDate;
IF finished = 1 THEN
LEAVE getCount;
END IF;
SET total = total + theCount;
select theDate, total;
END LOOP getCount;
CLOSE curCount;
END$$
DELIMITER ;
Tuttavia CURSORE è un modo per fare il tuo lavoro e potrebbero esserci metodi più efficaci.