Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1427 → Rev 1428

/trunk/scripts/modules/maj/201309-index-views.sql
47,21 → 47,23
DROP TABLE IF EXISTS `BASEDEL`.`del_image_stat`;
CREATE TABLE IF NOT EXISTS `BASEDEL`.`del_image_stat` (
`ce_image` BIGINT(20) NOT NULL COMMENT 'id_image (tb_cel.cel_images)',
`ce_protocole` INT(11) NULL DEFAULT NULL COMMENT 'un id de protocole',
`moyenne` SMALLINT NOT NULL DEFAULT 0 COMMENT 'moyenne des votes pour une image et un protocole donné',
`nb_tags` SMALLINT NOT NULL DEFAULT 0 COMMENT 'nombre de tags pictoflora associés à une image',
`ce_protocole` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'un id de protocole',
`moyenne` FLOAT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'moyenne des votes pour une image et un protocole donné',
`nb_votes` SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'nombre de votes pour une image et un protocole donné',
`nb_tags` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'nombre de tags pictoflora pour une image donnée',
PRIMARY KEY (`ce_image`, `ce_protocole`),
KEY `ce_image` (`ce_image`),
KEY `ce_protocole` (`ce_protocole`, `moyenne` DESC),
KEY `nb_votes` (`nb_votes` DESC),
KEY `nb_tags` (`nb_tags` DESC)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT 'table de stockage des statistiques utilisées pour les tri de PictoFlora';
 
INSERT INTO `BASEDEL`.`del_image_stat` (\
SELECT id_image, divo.ce_protocole, divo.moyenne, dit.ctags \
SELECT id_image, divo.ce_protocole, divo.moyenne, divo.nb_votes, dit.ctags \
FROM `BASECEL`.`cel_images` ci \
LEFT JOIN \
( SELECT ce_image, ce_protocole, AVG(valeur) AS moyenne FROM del_image_vote \
GROUP BY ce_image, ce_protocole ) AS divo
( SELECT ce_image, ce_protocole, AVG(valeur) AS moyenne, COUNT(valeur) AS nb_votes
FROM del_image_vote GROUP BY ce_image, ce_protocole ) AS divo
ON ci.id_image = divo.ce_image \
LEFT JOIN \
( SELECT ce_image, COUNT(id_tag) as ctags FROM del_image_tag \