File indexing completed on 2024-04-21 06:00:36
0001 0002 DROP PROCEDURE IF EXISTS `generate_stat_views_today`; 0003 0004 DELIMITER $$ 0005 USE `pling`$$ 0006 CREATE 0007 DEFINER = CURRENT_USER PROCEDURE `generate_stat_views_today`() 0008 BEGIN 0009 0010 DROP TABLE IF EXISTS `temp_stat_views_today`; 0011 0012 CREATE TABLE `temp_stat_views_today` 0013 ( 0014 `id` INT NOT NULL AUTO_INCREMENT, 0015 `project_id` INT(11) NOT NULL, 0016 `count_views` INT(11) NULL DEFAULT 0, 0017 `count_visitor` INT(11) NULL DEFAULT 0, 0018 `last_view` DATETIME NULL DEFAULT NULL, 0019 PRIMARY KEY (`id`), 0020 INDEX `idx_project` (`project_id` ASC) 0021 ) 0022 ENGINE = MyISAM 0023 AS 0024 SELECT `project_id`, 0025 COUNT(*) AS `count_views`, 0026 COUNT(DISTINCT `stat_page_views`.`ip`) AS `count_visitor`, 0027 MAX(`stat_page_views`.`created_at`) AS `last_view` 0028 FROM `stat_page_views` 0029 WHERE (`stat_page_views`.`created_at` 0030 BETWEEN DATE_FORMAT(NOW(), '%Y-%m-%d 00:00') AND DATE_FORMAT(NOW(), '%Y-%m-%d 23:59') 0031 ) 0032 GROUP BY `project_id`; 0033 0034 IF EXISTS(SELECT `table_name` 0035 FROM `INFORMATION_SCHEMA`.`TABLES` 0036 WHERE `table_schema` = DATABASE() 0037 AND `table_name` = 'stat_page_views_today_mv') 0038 THEN 0039 ALTER TABLE `stat_page_views_today_mv` 0040 RENAME TO `old_stat_views_today_mv`; 0041 0042 END IF; 0043 0044 ALTER TABLE `temp_stat_views_today` 0045 RENAME TO `stat_page_views_today_mv`; 0046 0047 DROP TABLE IF EXISTS `old_stat_views_today_mv`; 0048 0049 END $$ 0050 0051 DELIMITER ;