-- Procedure "sns_login_reg" DDL
CREATE DEFINER=`root`@`localhost` PROCEDURE `sns_login_reg`(in start_day varchar(255),in end_day varchar(255))
begin
declare counts int;
declare next_id int default 1;
declare currentday varchar(255);
declare all_user int;
declare new_booker int;
declare old_sns int;
declare new_sns int;
declare today date;
declare days int;
CREATE TEMPORARY TABLE user_login_reg(
row_id int auto_increment primary key ,
rang_day varchar(255) ,
sum_user int,
new_user_booker int,
old_user int,
new_user_sns int
);
set today= start_day;
if(end_day>start_day)
then
SELECT DATEDIFF(end_day,start_day) into days;
while days>0
do
insert into user_login_reg(rang_day) values(today);
set today=ADDDATE(today,1);
set days=days-1;
end while;
end if;
select count(row_id) into counts from user_login_reg;
while counts>0 do
select rang_day into currentday from user_login_reg where row_id=next_id;
select count(distinct(uid)) into all_user from sns.uchome_actionlog where substring(dateline,1,10)=currentday and uid!=-1 and uid !=cid;
select count(uid) into new_booker from sns.uchome_space where substring(FROM_UNIXTIME(dateline),1,10) =currentday and productId=1 ;
select count(uid) into new_sns from sns.uchome_space where substring(FROM_UNIXTIME(dateline),1,10) =currentday and productId=1000 ;
/*select count(uid) from (select uid,dateline from sns.uchome_space where uid in (select distinct(uid) from sns.uchome_actionlog where substring(dateline,1,10)=currentdayand uid!=-1)) as old_user where substring(from_unixtime(old_user.dateline),1,10)!=currentday */
/*select count(distinct(uid)) into old_sns from sns.uchome_actionlog where substring(dateline,1,10)=currentday and uid!=-1 and uid not in(select uid from sns.uchome_space where substring(from_unixtime(dateline),1,10)=currentday);*/
set old_sns=all_user-new_booker-new_sns;
update user_login_reg set sum_user=all_user,new_user_booker=new_booker,old_user=old_sns,new_user_sns=new_sns where rang_day=currentday;
set next_id=next_id+1;
set counts=counts-1;
end while;
select * from user_login_reg;
drop table user_login_reg;
end;
***************************************************************************************************************
-- Procedure "sns_statistics_pv" DDL
CREATE DEFINER=`root`@`localhost` PROCEDURE `sns_statistics_pv`(in end_day varchar(255))
begin
declare counts int;
declare next_id int default 1;
declare currentday varchar(255);
declare pv int;
declare login_user_pv int;
declare anonymous_user_pv int;
declare app_pv int;
declare login_user_app_pv int;
declare anonymous_user_app_pv int;
CREATE TEMPORARY TABLE statistics4pv(
row_id int auto_increment primary key ,
rang_day varchar(255) ,
pv_count int,
login_average_pv int,
anonymous_average_pv int,
app_pv_count int,
app_login_average_pv int,
app_anonymous_average_pv int
);
insert into statistics4pv(rang_day) select distinct(substring(dateline,1,10)) from sns.uchome_actionlog where dateline<end_day;
select count(row_id) into counts from statistics4pv;
while counts>0 do
select rang_day into currentday from statistics4pv where row_id=next_id;
select count(logid) into pv from sns.uchome_actionlog where substring(dateline,1,10)=currentday;
select ifnull(count(logid) /count(distinct(uid)),'0') into login_user_pv from sns.uchome_actionlog where substring(dateline,1,10)=currentday and uid!=-1 ;
select ifnull(count(logid) /count(distinct(cid)),'0') into anonymous_user_pv from sns.uchome_actionlog where substring(dateline,1,10)=currentday and uid=-1 ;
select count(logid) into app_pv from sns.uchome_actionlog where substring(dateline,1,10)=currentday and actionid>60 and actionid<72;
select ifnull(count(logid) /count(distinct(uid)),'0') into login_user_app_pv from sns.uchome_actionlog where substring(dateline,1,10)=currentday and actionid>60 and actionid<72 and uid!=-1 ;
select ifnull(count(logid) /count(distinct(cid)),'0') into anonymous_user_app_pv from sns.uchome_actionlog where substring(dateline,1,10)=currentday and actionid>60 and actionid<72 and uid =-1 ;
update statistics4pv set pv_count=pv,login_average_pv=login_user_pv,anonymous_average_pv=anonymous_user_pv,app_pv_count=app_pv,app_login_average_pv=login_user_app_pv,app_anonymous_average_pv=anonymous_user_app_pv where rang_day=currentday;
set next_id=next_id+1;
set counts=counts-1;
end while;
select * from statistics4pv;
drop table statistics4pv;
end;
分享到:
相关推荐
- 使用数据资源部数据采集任务报表跟踪和管理采集量。 3. **客户数据入库**: - 对收集的数据进行格式化处理,统一存储标准,以提高数据性能和质量。 - 运用Microsoft SQL Server Studio、Access和Excel等工具...
- 抓取与采集:使用专门的软件工具(如卓讯企业名录搜索软件)进行数据抓取,并跟踪采集量。 3. **客户数据入库**: - 格式化处理:统一数据格式、精度和存储方式,按照数据资源部的标准进行数据处理。 - 去重与...
一般会采用关系型数据库管理系统,如MySQL或Oracle,设计合理的数据表结构,同时考虑数据安全性和备份策略。 用户界面设计需要兼顾专业性和易用性,确保医护人员可以快速上手。界面应清晰展示关键信息,如患者状态...
python教程学习
tdac034.pdf
veclibm111111111111
nssm工具,进行2次解压后即可
视讯镜头优化,操作不走
【数据结构】的资源,包括书籍、在线课程和网站
北京大学-DeepSeek系列-提示词工程和落地场景.pdf.png
【财信国际经济研究院-2025研报】2025年2月CPI和PPI数据点评:通胀低于预期,内需亟待提振.pdf
【毕业设计】java-springboot+vue精品在线试题库系统源码(完整前后端+mysql+说明文档+LunW).zip
python安装-25.求 a 的 b 次方——有点不好意思哈.py
代码实现了自适应IMM(交互式多模型)算法,专注于对目标状态进行估计,并结合了匀速(CV)和匀加速(CA)运动模型。它使用自适应观测噪声估计和扩展卡尔曼滤波器(EKF)作为滤波主体,并在最后提供误差统计特性输出。
中产品工业物联网联网的基础功能,是企业开启数字化转型的入门之选。它能帮助企业快速搭建起基础的设备数据采集与监控体系,以较低成本实
北京大学DeepSeek系列-DeepSeek与AIGC应用.pdf.png
【毕业设计-java】springboot-vue基于多维分类的知识管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
## 一、数据介绍 本数据参考C刊《管理评论》佟岩(2024)老师的做法,使用各年度省级政府工作报告中“减碳”关键词的词频总数来测度地方政府对“减碳”的重视程度,“减碳”关键词包括二氧化碳、低碳、减排、节能、能耗、环境保护(环保)、生态、绿色。 本数据包含:原始数据、参考文献、代码do文件、最终结果。 ## 二、参考文献: 佟岩,李鑫,徐国铨.企业集团碳减排压力与债务分布-来自高耗能上市公司的经验证据[J].管理评论,2024,36(02):210-221.DOI:10.14120/j.cnki.cn11-5057/f.2024.02.014 ## 三、相关数据:城市、城市编码、年份、减碳重视程度词频。
python教程学习
jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目