support distribution sexes update stats

This commit is contained in:
2022-12-26 11:32:11 +01:00
parent f4bb23df44
commit 3d481f5a74
3 changed files with 151 additions and 32 deletions

View File

@@ -25,7 +25,7 @@ const addAuteur = (author) => {
//Ajoute une note sur un critère spécifique
const addSpecificRating = (reviewId, label, value) => {
return new Promise((resolve, reject) => {
const sql = "INSERT INTO borne_notes_autre(critere_id, avis_id, valeur) VALUES ((SELECT id FROM borne_criteres WHERE borne_criteres.nom = ?), ?, ?)"
const sql = "INSERT INTO borne_notes_autre(critere_id, avis_id, note) VALUES ((SELECT id FROM borne_criteres WHERE borne_criteres.nom = ?), ?, ?)"
console.log(sql);
conn.query(sql, [label,reviewId, value], (err, res) => {
if(err) {

View File

@@ -1,5 +1,6 @@
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;
@@ -14,4 +15,23 @@ SELECT @moyenne_site:=AVG(note_principale)
JOIN sources ON sources.id = borne_avis.source_id
WHERE date > @date_limite AND sources.nom = "website";
INSERT INTO stats_jour (moyenne_globale, moyenne_borne, moyenne_site) VALUES (@moyenne_globale, @moyenne_borne, @moyenne_site);
-- 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