drop procedure weekWaste;

create definer = root@`%` procedure weekWaste__()
BEGIN
	DECLARE vWeek INT;
    DECLARE vYear INT;

    SELECT week, year
		INTO vWeek, vYear
        FROM vn.time
        WHERE dated = DATE_ADD(CURDATE(), INTERVAL -1 WEEK);

	SELECT *, 100 * dwindle / total AS percentage
	FROM (
		SELECT  buyer,  
				sum(saleTotal) as total, 
				sum(saleWaste) as dwindle
			FROM bs.waste 
			WHERE year = vYear and week = vWeek
			GROUP BY buyer 
		) sub
		ORDER BY percentage DESC;
END;

