当前位置: 首页 > news >正文

用python做网站开发的课程企业网络推广方式

用python做网站开发的课程,企业网络推广方式,动漫设计与制作图,你做我评网站会自动查论文相似度吗文章目录 主要内容一.回访用户1.准备工作代码如下(示例): 2.目标3.实现代码如下(示例): 二.如何找到每个人每月消费的最大天数1.准备工作代码如下(示例): 2.目标3.实现代码如下(示例&#xff09…

主要内容

  1. 回访用户
  2. 如何找到每个人每月消费的最大天数

一.回访用户

1.准备工作

代码如下(示例):
drop database if exists db_1;create database db_1;use db_1;CREATE TABLE tb_visits (user_id INT,date DATE
);INSERT INTO tb_visits (user_id, date)
VALUES(1, current_timestamp() - interval 0 day),(1, current_timestamp() - interval 0 day),(1, current_timestamp() - interval 1 day),(1, current_timestamp() - interval 2 day),(1, current_timestamp() - interval 3 day),(1, current_timestamp() - interval 4 day),(2, current_timestamp() - interval 1 day),(4, current_timestamp() - interval 0 day),(4, current_timestamp() - interval 1 day),(4, current_timestamp() - interval 3 day),(4, current_timestamp() - interval 4 day),(4, current_timestamp() - interval 62 day),(4, current_timestamp() - interval 62 day),(5, current_timestamp() - interval 1 day),(5, current_timestamp() - interval 3 day),(5, current_timestamp() - interval 4 day)
;select * from tb_visits order by user_id, date;

2.目标

  • 说明 :回访用户

  • 返回连续访问该页面最⻓的3个用户,按⻓短的倒序排列3个用户

  • 问题:在如下的数据库表中,包含有关用户访问网页的信息。完成SQL返回连续访问该页面最长的3个用户,按长短的倒序排列3个用户。

  • 输入
    在这里插入图片描述

  • 输出
    在这里插入图片描述

3.实现

代码如下(示例):
-- todo 第一步: 去重
with t1 as (selectdistinct user_id, datefrom tb_visits
),-- todo 第二步: 根据 user_id 分堆, 再根据 date 排序(正序)
t2 as (selectuser_id, date,row_number() over (partition by user_id order by date asc) as rnfrom t1
),-- todo 第三步: 伪代码 dt2 = date -rn
t3 as (selectuser_id, date, rn,date_add(date, interval -rn day) as dt2from t2
),-- todo 第四步: 求每个用戶连续访问的天数, 连续访问的开始日期和结束日期
t4 as (selectuser_id, dt2,count(1) as cnt,-- 连续天数min(date) as start_date,-- 开始日期max(date) as end_date-- 结束日期from t3group by user_id, dt2
),-- todo 第五步: 求每个人访问的最大天数 先排序
t5 as (selectuser_id, dt2, cnt, start_date, end_date,row_number() over (partition by user_id order by cnt desc) as rn2from t4
),-- todo 第六步: 求每个人访问的最大天数 再过滤 ... where rn2=1
t6 as (selectuser_id, dt2, cnt, start_date, end_date, rn2from t5where rn2=1
),-- todo 第七步: 求最大连续天数的top3 先排序
t7 as (selectuser_id, dt2, cnt, start_date, end_date, rn2,rank() over (order by cnt desc) as rn3
from t6
),-- todo 第八步: 求最大连续天数的top3 再过滤
t8 as (select*from t7where rn3<=3
)
select user_id, cnt, start_date, end_date from t8
;

二.如何找到每个人每月消费的最大天数

1.准备工作

代码如下(示例):
drop database if exists db_1;create database db_1;use db_1;create table tb_card
(card_nbr varchar(32),c_date varchar(32),c_type varchar(32),c_atm int
);insert into tb_card
values(1, '2022-01-01', '网购', 150),(1, '2022-01-01', '网购', 100),(1, '2022-01-02', '网购', 200),(1, '2022-01-03', '网购', 300),(1, '2022-01-15', '网购', 100),(1, '2022-01-16', '网购', 200),(2, '2022-01-06', '网购', 500),(2, '2022-01-07', '网购', 800),(1, '2022-02-02', '网购', 200),(1, '2022-02-03', '网购', 300),(1, '2022-02-04', '网购', 300),(1, '2022-02-05', '网购', 300),(1, '2022-02-08', '网购', 800),(1, '2022-02-09', '网购', 900),(2, '2022-02-05', '网购', 500),(2, '2022-02-06', '网购', 500),(2, '2022-02-07', '网购', 800),(2, '2022-02-07', '网购', 850)
;select * from tb_card;

2.目标

  • 说明

  • 有一张C_T (列举了部分数据)表示持卡人消费记录,表结构如下:在这里插入图片描述

  • 每个月每张卡连续消费的最大天数(如卡在当月只有一次消费则为1)。

  • 连续消费天数:指一楼时间内连续每天都有消费,同一天有多笔消费算一天消费,不能跨月份统计。

  • 输入
    在这里插入图片描述

  • 输出
    在这里插入图片描述

3.实现

代码如下(示例):
with t1 as (selectdistinct card_nbr, c_date
from tb_card
),t2 as (selectcard_nbr,substr(c_date, 1, 7) as c_month,
c_date, 
--substr(c_date, 1, 7) as c_month:从消费日期中提取出年份和月份,形成一个新的字段c_month。这样我们就可以按照月份进行分组。row_number() over (partition by card_nbr, substr(c_date, 1, 7) order by
from t1
),
t3 as (selectcard_nbr, c_month, c_date, rn1,date_add(c_date, interval -rn1 day) as dt2from t2
),
t4 as (selectcard_nbr, c_month, dt2,count(1) as cnt -- todo 连续消费的天数from t3group by card_nbr, c_month, dt2
)
selectcard_nbr, c_month,max(cnt) as 连续消费的最大天数
from t4
group by card_nbr, c_month
;

4.解释

代码如下(示例):

以下是每个子查询的解释:1. 子查询t1:从tb_card表中选择不同的卡号和消费日期。2. 子查询t2:从t1中选择卡号、消费月份和消费日期,并使用row_number()函数为每个卡号和月份组合编号。3. 子查询t3:从t2中选择卡号、消费月份、消费日期、编号和消费日期减去编号天数的结果。4. 子查询t4:从t3中选择卡号、消费月份、消费日期和每个日期组合的连续消费天数,并使用count()函数计算连续消费天数。最后,查询语句从t4中选择卡号、消费月份和最大连续消费天数,并使用group by子句按卡号和月份分组。

总结

MySQL实战1
以上是今天要讲的内容,实战了:回访用户,如何找到每个人每月消费的最大天数。

http://www.hkea.cn/news/630790/

相关文章:

  • 服务网络是什么意思上海关键词排名优化价格
  • 黑龙江做网站哪家好下载官方正版百度
  • 实时网站制作网站关键字优化
  • 商城网站要多少钱网页制作app
  • 做网站前端难吗个人网站
  • 怎么做亚马逊网站百度小说排行榜2020
  • 山东省建设文化传媒有限公司网站网站排名查询工具有哪些
  • 营销型企业网站有哪些网站建设找哪家好
  • 玉环做企业网站任何东西都能搜出来的软件
  • 无锡专业网站建设搜索优化seo
  • 成品软件源码网站大全百度权重10的网站
  • 深圳手机网站建设多少钱外链代发软件
  • 璧山集团网站建设互联网推广营销
  • 平面设计网址推荐全国seo搜索排名优化公司
  • 青岛公路建设集团网站东莞排名优化团队
  • 北京公司响应式网站建设价位太原网站建设开发
  • 龙岩网络诈骗通缉人员优化推广方案
  • 专做海外代购的网站设计案例网
  • 漳州网站设计东莞网站制作模板
  • 制作应用的软件成都排名seo公司
  • 北京专业企业网站建设俄罗斯搜索引擎入口 yandex
  • wordpress 怎么改中文网站推广优化价格
  • 南山做网站公司怎么选择企业seo优化服务
  • 什么 电子商务网站建设与管百度招商加盟
  • 南召微网站开发手机优化大师官方版
  • 营销型网站技术特点网站推广网
  • 龙游县住房和城乡建设局网站百度seo优化方法
  • 深圳方维网站建设设计个人网站
  • wordpress 流量站百度应用
  • ps素材网seo在线工具