SET @date_limite = DATE_ADD(NOW(), INTERVAL -1 DAY); -- On récupère les notes notes moyennes sur la periode, en séparant global, borne et site SELECT @moyenne_globale:=AVG(note_principale) FROM borne_avis WHERE date > @date_limite; SELECT @moyenne_borne:=AVG(note_principale) FROM borne_avis JOIN sources ON sources.id = borne_avis.source_id WHERE date > @date_limite AND sources.nom = "borne"; SELECT @moyenne_site:=AVG(note_principale) FROM borne_avis JOIN sources ON sources.id = borne_avis.source_id WHERE date > @date_limite AND sources.nom = "website"; -- On récupère la distribution de sexes SELECT @stats_f:=COUNT(*) FROM borne_avis JOIN borne_auteurs ON borne_avis.id_auteur = borne_auteurs.id WHERE sexe='f' WHERE date > @date_limite; SELECT @stats_h:=COUNT(*) FROM borne_avis JOIN borne_auteurs ON borne_avis.id_auteur = borne_auteurs.id WHERE sexe='h' WHERE date > @date_limite; SELECT @stats_a:=COUNT(*) FROM borne_avis JOIN borne_auteurs ON borne_avis.id_auteur = borne_auteurs.id WHERE sexe='a' WHERE date > @date_limite; SET @dist_sexe = CONCAT(@stats_f,",",@stats_h,",",@stats_a); INSERT INTO stats_general_jour (moyenne_globale, moyenne_borne, moyenne_site) VALUES (@moyenne_globale, @moyenne_borne, @moyenne_site); INSERT INTO stats_autres_jour (critere_id, note) SELECT critere_id, AVG(note) as moyenne FROM `borne_notes_autre` GROUP BY critere_id WHERE date > @date_limite