mirror of
https://git.roussel.pro/telecom-paris/pact.git
synced 2026-02-09 02:20:17 +01:00
support distribution sexes update stats
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
@@ -3,7 +3,7 @@
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: localhost:3306
|
||||
-- Generation Time: Dec 25, 2022 at 09:49 PM
|
||||
-- Generation Time: Dec 26, 2022 at 10:31 AM
|
||||
-- Server version: 8.0.31-0ubuntu0.20.04.1
|
||||
-- PHP Version: 7.4.3
|
||||
|
||||
@@ -21,6 +21,8 @@ SET time_zone = "+00:00";
|
||||
--
|
||||
-- Database: `telereview`
|
||||
--
|
||||
CREATE DATABASE IF NOT EXISTS `telereview` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
USE `telereview`;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
@@ -77,9 +79,10 @@ INSERT INTO `borne_criteres` (`id`, `nom`) VALUES
|
||||
|
||||
CREATE TABLE `borne_notes_autre` (
|
||||
`id` int NOT NULL,
|
||||
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`critere_id` int NOT NULL,
|
||||
`avis_id` int NOT NULL,
|
||||
`valeur` int NOT NULL COMMENT 'Note sur 10'
|
||||
`note` int NOT NULL COMMENT 'Note sur 10'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
@@ -134,16 +137,67 @@ INSERT INTO `sources` (`id`, `nom`) VALUES
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `stats_annee`
|
||||
-- Table structure for table `stats_autres_annee`
|
||||
--
|
||||
|
||||
CREATE TABLE `stats_annee` (
|
||||
CREATE TABLE `stats_autres_annee` (
|
||||
`id` int NOT NULL,
|
||||
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`critere_id` int NOT NULL,
|
||||
`note` float NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `stats_autres_jour`
|
||||
--
|
||||
|
||||
CREATE TABLE `stats_autres_jour` (
|
||||
`id` int NOT NULL,
|
||||
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`critere_id` int NOT NULL,
|
||||
`note` float NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `stats_autres_mois`
|
||||
--
|
||||
|
||||
CREATE TABLE `stats_autres_mois` (
|
||||
`id` int NOT NULL,
|
||||
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`critere_id` int NOT NULL,
|
||||
`note` float NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `stats_autres_semaine`
|
||||
--
|
||||
|
||||
CREATE TABLE `stats_autres_semaine` (
|
||||
`id` int NOT NULL,
|
||||
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`critere_id` int NOT NULL,
|
||||
`note` float NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `stats_general_annee`
|
||||
--
|
||||
|
||||
CREATE TABLE `stats_general_annee` (
|
||||
`id` int NOT NULL,
|
||||
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`moyenne_globale` float NOT NULL,
|
||||
`moyenne_site` float NOT NULL,
|
||||
`moyenne_borne` float NOT NULL,
|
||||
`moyenne_autres` text NOT NULL COMMENT 'Nombres séparés par des ; => moyennes spécifiques',
|
||||
`dist_age` text NOT NULL COMMENT 'Distribution de l''age des auteurs',
|
||||
`dist_sexe` text NOT NULL COMMENT 'Distribution du sexe des auteurs'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||
@@ -151,16 +205,15 @@ CREATE TABLE `stats_annee` (
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `stats_jour`
|
||||
-- Table structure for table `stats_general_jour`
|
||||
--
|
||||
|
||||
CREATE TABLE `stats_jour` (
|
||||
CREATE TABLE `stats_general_jour` (
|
||||
`id` int NOT NULL,
|
||||
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`moyenne_globale` float DEFAULT NULL,
|
||||
`moyenne_site` float DEFAULT NULL,
|
||||
`moyenne_borne` float DEFAULT NULL,
|
||||
`moyenne_autres` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT 'Nombres séparés par des ; => moyennes spécifiques',
|
||||
`dist_age` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT 'Distribution de l''age des auteurs',
|
||||
`dist_sexe` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT 'Distribution du sexe des auteurs'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||
@@ -168,16 +221,15 @@ CREATE TABLE `stats_jour` (
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `stats_mois`
|
||||
-- Table structure for table `stats_general_mois`
|
||||
--
|
||||
|
||||
CREATE TABLE `stats_mois` (
|
||||
CREATE TABLE `stats_general_mois` (
|
||||
`id` int NOT NULL,
|
||||
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`moyenne_globale` float NOT NULL,
|
||||
`moyenne_site` float NOT NULL,
|
||||
`moyenne_borne` float NOT NULL,
|
||||
`moyenne_autres` text NOT NULL COMMENT 'Nombres séparés par des ; => moyennes spécifiques',
|
||||
`dist_age` text NOT NULL COMMENT 'Distribution de l''age des auteurs',
|
||||
`dist_sexe` text NOT NULL COMMENT 'Distribution du sexe des auteurs'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||
@@ -185,16 +237,15 @@ CREATE TABLE `stats_mois` (
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `stats_semaine`
|
||||
-- Table structure for table `stats_general_semaine`
|
||||
--
|
||||
|
||||
CREATE TABLE `stats_semaine` (
|
||||
CREATE TABLE `stats_general_semaine` (
|
||||
`id` int NOT NULL,
|
||||
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`moyenne_globale` float NOT NULL,
|
||||
`moyenne_site` float NOT NULL,
|
||||
`moyenne_borne` float NOT NULL,
|
||||
`moyenne_autres` text NOT NULL COMMENT 'Nombres séparés par des ; => moyennes spécifiques',
|
||||
`dist_age` text NOT NULL COMMENT 'Distribution de l''age des auteurs',
|
||||
`dist_sexe` text NOT NULL COMMENT 'Distribution du sexe des auteurs'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||
@@ -246,27 +297,51 @@ ALTER TABLE `sources`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- Indexes for table `stats_annee`
|
||||
-- Indexes for table `stats_autres_annee`
|
||||
--
|
||||
ALTER TABLE `stats_annee`
|
||||
ALTER TABLE `stats_autres_annee`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- Indexes for table `stats_jour`
|
||||
-- Indexes for table `stats_autres_jour`
|
||||
--
|
||||
ALTER TABLE `stats_jour`
|
||||
ALTER TABLE `stats_autres_jour`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- Indexes for table `stats_mois`
|
||||
-- Indexes for table `stats_autres_mois`
|
||||
--
|
||||
ALTER TABLE `stats_mois`
|
||||
ALTER TABLE `stats_autres_mois`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- Indexes for table `stats_semaine`
|
||||
-- Indexes for table `stats_autres_semaine`
|
||||
--
|
||||
ALTER TABLE `stats_semaine`
|
||||
ALTER TABLE `stats_autres_semaine`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- Indexes for table `stats_general_annee`
|
||||
--
|
||||
ALTER TABLE `stats_general_annee`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- Indexes for table `stats_general_jour`
|
||||
--
|
||||
ALTER TABLE `stats_general_jour`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- Indexes for table `stats_general_mois`
|
||||
--
|
||||
ALTER TABLE `stats_general_mois`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- Indexes for table `stats_general_semaine`
|
||||
--
|
||||
ALTER TABLE `stats_general_semaine`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
@@ -316,27 +391,51 @@ ALTER TABLE `sources`
|
||||
MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `stats_annee`
|
||||
-- AUTO_INCREMENT for table `stats_autres_annee`
|
||||
--
|
||||
ALTER TABLE `stats_annee`
|
||||
ALTER TABLE `stats_autres_annee`
|
||||
MODIFY `id` int NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `stats_jour`
|
||||
-- AUTO_INCREMENT for table `stats_autres_jour`
|
||||
--
|
||||
ALTER TABLE `stats_jour`
|
||||
ALTER TABLE `stats_autres_jour`
|
||||
MODIFY `id` int NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `stats_mois`
|
||||
-- AUTO_INCREMENT for table `stats_autres_mois`
|
||||
--
|
||||
ALTER TABLE `stats_mois`
|
||||
ALTER TABLE `stats_autres_mois`
|
||||
MODIFY `id` int NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `stats_semaine`
|
||||
-- AUTO_INCREMENT for table `stats_autres_semaine`
|
||||
--
|
||||
ALTER TABLE `stats_semaine`
|
||||
ALTER TABLE `stats_autres_semaine`
|
||||
MODIFY `id` int NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `stats_general_annee`
|
||||
--
|
||||
ALTER TABLE `stats_general_annee`
|
||||
MODIFY `id` int NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `stats_general_jour`
|
||||
--
|
||||
ALTER TABLE `stats_general_jour`
|
||||
MODIFY `id` int NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `stats_general_mois`
|
||||
--
|
||||
ALTER TABLE `stats_general_mois`
|
||||
MODIFY `id` int NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `stats_general_semaine`
|
||||
--
|
||||
ALTER TABLE `stats_general_semaine`
|
||||
MODIFY `id` int NOT NULL AUTO_INCREMENT;
|
||||
COMMIT;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user