12.162s 1805.867s
[SQL]DROP PROCEDURE IF EXISTS truncate_insert_sales_rank_toparow_week;
受影响的行: 0
时间: 0.001s [SQL] CREATE PROCEDURE truncate_insert_sales_rank_toparow_week ()
BEGIN
TRUNCATE sales_rank_toparow_week ;
INSERT INTO sales_rank_toparow_week (
fk_countrycode,
fk_categoryid,
history_year,
history_week
) SELECT
country,
categoryid,
grab_year,
grab_week
FROM
grab_sales_rank_week
GROUP BY
country,
categoryid,
grab_year,
grab_week ;
END;
受影响的行: 0
时间: 0.001s [SQL] CALL truncate_insert_sales_rank_toparow_week;
受影响的行: 11281
时间: 0.299s [SQL] DROP PROCEDURE IF EXISTS insert_update_sales_rank_toparow_week;
受影响的行: 0
时间: 0.000s [SQL] CREATE PROCEDURE insert_update_sales_rank_toparow_week ()
BEGIN
SET @wtab = ' sales_rank_toparow_week ';
SET @wtab_src = 'grab_sales_rank_week';
SET @w = 10;
SET @wyear_max=(SELECT MAX(grab_year) FROM grab_sales_rank_week)+1;
SET @wyear = (SELECT MIN(grab_year) FROM grab_sales_rank_week); WHILE @w < 101 DO
WHILE @wyear < @wyear_max DO
SET @wweek=(SELECT MIN(grab_week) FROM grab_sales_rank_week WHERE grab_year=@wyear);
SET @wweek_max=(SELECT MAX(grab_week) FROM grab_sales_rank_week WHERE grab_year=@wyear)+1;
WHILE @wweek < @wweek_max DO DROP TEMPORARY TABLE IF EXISTS wtmp;
SET @wtmp_where = CONCAT(' WHERE src.grab_year=',@wyear,' AND src.grab_week=',@wweek,' AND src.topx=',@w);
SET @wimp = ' src.country,src.categoryid,src.grab_year,src.grab_week,src.topx,src.sum_coin,src.sum_amount,tab.autoid,tab.fk_countrycode,tab.fk_categoryid,tab.history_year,tab.history_week ';
SET @wjoin = CONCAT(' src LEFT JOIN ',@wtab,' tab ON tab.fk_countrycode = src.country AND tab.fk_categoryid = src.categoryid AND tab.history_year = src.grab_year AND tab.history_week = src.grab_week ');
SET @wtmp = CONCAT('CREATE TEMPORARY TABLE wtmp AS SELECT ',@wimp,' FROM ',@wtab_src,@wjoin,@wtmp_where,';');
PREPARE stmt0 FROM @wtmp ;
EXECUTE stmt0 ;
DROP PREPARE stmt0; SET @wfield = CONCAT('coin',@w);
SET @wfieldb = CONCAT('amount',@w);
SET @wpre = CONCAT('UPDATE ',@wtab,' wf LEFT JOIN wtmp ON wf.autoid=wtmp.autoid SET wf.',@wfield,'=wtmp.sum_coin, wf.',@wfieldb,'=wtmp.sum_amount WHERE wf.autoid=wtmp.autoid');
PREPARE stmt1 FROM @wpre ;
EXECUTE stmt1 ;
DROP PREPARE stmt1; SET @wweek=@wweek+1;
END WHILE ;
SET @wyear=@wyear+1;
END WHILE ;
SET @wyear = (SELECT MIN(grab_year) FROM grab_sales_rank_week);
SET @w=@w+10;
END WHILE ;
END;
受影响的行: 0
时间: 0.001s [SQL] CALL insert_update_sales_rank_toparow_week;
受影响的行: 0
时间: 12.162s
DROP PROCEDURE IF EXISTS truncate_insert_sales_rank_toparow_week;
DELIMITER /w/
CREATE PROCEDURE truncate_insert_sales_rank_toparow_week ()
BEGIN
TRUNCATE sales_rank_toparow_week ;
INSERT INTO sales_rank_toparow_week (
fk_countrycode,
fk_categoryid,
history_year,
history_week
) SELECT
country,
categoryid,
grab_year,
grab_week
FROM
grab_sales_rank_week
GROUP BY
country,
categoryid,
grab_year,
grab_week ;
END/w/
DELIMITER;
CALL truncate_insert_sales_rank_toparow_week; DROP PROCEDURE IF EXISTS insert_update_sales_rank_toparow_week;
DELIMITER /w/
CREATE PROCEDURE insert_update_sales_rank_toparow_week ()
BEGIN
SET @wtab = ' sales_rank_toparow_week ';
SET @wtab_src = 'grab_sales_rank_week';
SET @w = 10;
SET @wyear_max=(SELECT MAX(grab_year) FROM grab_sales_rank_week)+1;
SET @wyear = (SELECT MIN(grab_year) FROM grab_sales_rank_week); WHILE @w < 101 DO
WHILE @wyear < @wyear_max DO
SET @wweek=(SELECT MIN(grab_week) FROM grab_sales_rank_week WHERE grab_year=@wyear);
SET @wweek_max=(SELECT MAX(grab_week) FROM grab_sales_rank_week WHERE grab_year=@wyear)+1;
WHILE @wweek < @wweek_max DO DROP VIEW IF EXISTS wview;
SET @wview_where = CONCAT(' WHERE grab_year=',@wyear,' AND grab_week=',@wweek,' AND topx=',@w);
SET @wimp = ' country,categoryid,grab_year,grab_week,topx,sum_coin,sum_amount ';
SET @wview = CONCAT('CREATE VIEW wview AS SELECT ',@wimp,' FROM ',@wtab_src,@wview_where,';');
PREPARE stmt0 FROM @wview ;
EXECUTE stmt0 ;
DROP PREPARE stmt0; DROP VIEW IF EXISTS wview1;
SET @wview1_where = CONCAT(' WHERE history_year=',@wyear,' AND history_week=',@wweek,';'); SET @wfield = CONCAT('coin',@w);
SET @wfieldb = CONCAT('amount',@w); SET @wimp = CONCAT(' fk_countrycode,fk_categoryid,history_year,history_week,',@wfield,',',@wfieldb);
SET @wview1 = CONCAT('CREATE VIEW wview1 AS SELECT ',@wimp,' FROM ',@wtab,@wview1_where,';');
PREPARE stmt2 FROM @wview1 ;
EXECUTE stmt2 ;
DROP PREPARE stmt2; SET @wnewvalue = CONCAT('(SELECT sum_coin FROM wview da WHERE wview1.fk_countrycode = da.country AND wview1.fk_categoryid = da.categoryid AND wview1.history_year = da.grab_year AND wview1.history_week = da.grab_week AND da.topx=',@w,' )'); SET @wnewvalueb = CONCAT('(SELECT sum_amount FROM wview da WHERE wview1.fk_countrycode = da.country AND wview1.fk_categoryid = da.categoryid AND wview1.history_year = da.grab_year AND wview1.history_week = da.grab_week AND da.topx=',@w,' )'); SET @wpre = CONCAT('UPDATE ',' wview1 ',' SET ',@wfield,'=',@wnewvalue,',',@wfieldb,'=',@wnewvalueb);
PREPARE stmt1 FROM @wpre ;
EXECUTE stmt1 ;
DROP PREPARE stmt1; SET @wweek=@wweek+1;
END WHILE ;
SET @wyear=@wyear+1;
END WHILE ;
SET @wyear = (SELECT MIN(grab_year) FROM grab_sales_rank_week);
SET @w=@w+10;
END WHILE ;
END/w/
DELIMITER ;
CALL insert_update_sales_rank_toparow_week;
12.162s 1805.867s的更多相关文章
- python 各模块
01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支 ...
- Android/Linux boot time分析优化
如果需要优化boot time,就需要一个量化的工具来分析每个阶段的时间消耗.这种类型的优化特别适合使用基于timeline的图表,有着明显的时间顺序.要求不但能给出整个流程消耗的时间,还要能对流程进 ...
- Python Standard Library
Python Standard Library "We'd like to pretend that 'Fredrik' is a role, but even hundreds of vo ...
- 在mybatis中写sql语句的一些体会
本文会使用一个案例,就mybatis的一些基础语法进行讲解.案例中使用到的数据库表和对象如下: article表:这个表存放的是文章的基础信息 -- ------------------------- ...
- AndroidStudio — Error:Failed to resolve: junit:junit:4.12错误解决
原博客:http://blog.csdn.net/u013443865/article/details/50243193 最近使用AndroidStudio出现以下问题: 解决:打开app下的buil ...
- 读过MBA的CEO更自私?《哈佛商业评论》2016年第12期。4星
老牌管理杂志.每期都值得精度.本期我还是给4星. 以下是本书中的一些内容的摘抄: 1:他们发现在Airbnb上,如果客人姓名听起来像黑人,那么比名字像白人的客人的接受率会低16%.#45 2:对立组织 ...
- 12个小技巧,让你高效使用Eclipse
集成开发环境(IDE)让应用开发更加容易.它们强调语法,让你知道是否你存在编译错误,在众多的其他事情中允许你单步调试代码.像所有的IDE一 样,Eclipse也有快捷键和小工具,这些会让您感觉轻松许多 ...
- 第12章 Linux系统管理
1. 进程管理 1.1 进程查看 (1)进程简介 进程是正在执行的一个程序或命令(如ls命令也是一个进程),每个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源. (2)进程管理的作用 ...
- Jexus Web Server 完全傻瓜化图文配置教程(基于Ubuntu 12.04.3 64位)[内含Hyper-v 2012虚拟机镜像下载地址]
1. 前言 近日有感许多新朋友想尝试使用Jexus,不过绝大多数都困惑徘徊在Linux如何安装啊,如何编译Mono啊,如何配置Jexus啊...等等基础问题,于是昨日向宇内流云兄提议,不如搞几个配置好 ...
随机推荐
- MFC 重载退出(窗口顶上最右边的x按钮)
其实可以在*Dlg.cpp中的BEGIN_MESSAGE_MAP中对IDCANCEL和自定义函数进行匹配就可以了. 如: 自定义的退出函数是OnClose(),则在BEGIN_MESSAGE_MAP中 ...
- HIT2715 Matrix3(最小费用最大流)
题目大概说有一个n×n的矩阵,每个格子都有权值和高度,在这个矩阵中进行最多k次旅行,每次旅行能从当前格子走到相邻且高度更小的格子,走到格子边界就能出去完成这次旅行.每走到一个格子就累加格子的权值然后把 ...
- ccc 设置图片位置
cc.Class({ extends: cc.Component, properties: { player:{ default:null, type:cc.Sprite } }, // use th ...
- 【BZOJ2243】[SDOI2011]染色 树链剖分+线段树
[BZOJ2243][SDOI2011]染色 Description 给定一棵有n个节点的无根树和m个操作,操作有2类: 1.将节点a到节点b路径上所有点都染成颜色c: 2.询问节点a到节点b路径上的 ...
- Android -- 自定义ImageView(圆形头像)
1. 原图
- jQuery 循环问题
$("#add2sub").click(function(){ var $sxarr=$(".add_shuxing_ul > .sx_add_bg"); ...
- shell判断文件或者文件夹是否存在
#!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" #这里的-x 参数 ...
- ffmpeg常用命令
windows http://www.cnblogs.com/wainiwann/p/4128154.html ubuntu http://blog.csdn.net/hellowxwworld/ar ...
- C#文字样式
[字体] 中文名称 英文名称宋体 SimSun黑体 SimHei微软雅黑 Microsoft YaHei微软正黑体 Microsoft JhengHei新宋体 NSimSun新细明体 PMin ...
- Oracle数据库合并行记录,WMSYS.WM_CONCAT 函數的用法
Sql代码 select t.rank, t.Name from t_menu_item t; 10 CLARK 10 KING 10 MILLER 20 ADAMS 20 F ...