28,3 → 28,29 |
|
DROP INDEX `tag_normalise_2` ON `BASEDEL`.del_image_tag; |
DROP INDEX `ce_image_2` ON `BASEDEL`.del_image_tag; |
|
|
|
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', |
PRIMARY KEY (`ce_image`, `ce_protocole`, `moyenne`), |
KEY `ce_image` (`ce_image`), |
KEY `ce_protocole` (`ce_protocole`, `moyenne` 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 \ |
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 |
ON ci.id_image = divo.ce_image \ |
LEFT JOIN \ |
( SELECT ce_image, COUNT(id_tag) as ctags FROM del_image_tag \ |
GROUP BY ce_image ) AS dit \ |
ON ci.id_image = dit.ce_image ); |