首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL数据分析淘宝用户分析实操

通过查询表结构,可以看到 date 列日期列不是日期类型: ? date 列改成 date 类型: ? 04. 构建模型和分析问题 1. 总体用户购物情况 pv(总访问量) ? 日均访问量 ?...用户行为转化漏斗 在购物环节中收藏和加入购物车两个环节没有先后之分,所以两个环节可以放在一起作为购物环节一步。最终得到用户购物行为各环节转化率,如下: ? ? ?...基于时间维度了解用户行为习惯 (1)一天中用户活跃时段分布 ? ?...(3)对用户进行评分 对4330名有购买行为用户按照排名进行分组,共划分为四组,对排在前四分之一用户打4分,排在前四分之一到四分之二(即二分之一)用户打3分,排在前四分之二到前四分之三用户打2分...,剩余用户打1分,按照这个规则分别对用户时间间隔排名打分和购买频率排名打分,最后把两个分数合并在一起作为该名用户最终评分。

2.2K20

SQL中去除重复数据几种方法,我一次性都告你​

【字段解释】 访客id:进入店铺浏览宝贝客户 浏览时间:访客进入店铺浏览页面的日期 浏览时常:访客进入店铺浏览页面的时长 现在需要知道店铺里每个访客和对应浏览日期(每个访客同一天浏览多次算做一次记录...2)如果对表中多列字段进行去重,去重过程就是多字段作为整体去重,比如上面的例子,我们访客id和浏览时间为整体去去重,而不是对访客id单独去重后再对姓名单独去重,所以会出现相同访客id对应不同浏览时间...,分组汇总后改变了表行数,一行只有一个类别,这里使用group by后会将访客id 和浏览时间作为一个类别保留,重复就会不显示。...by ) 根据题目要求得出每个访客和对应浏览日期,我们对访客id ,浏览时间进行分组,对浏览时长(秒)进行排序。...淘宝日销售数据表; 查询结果: 窗口函数查询按照每个客户和浏览日期分组,如果同一天有几次浏览,会根据点赞数排序,筛选排名为1,即可得出每个访客和对应浏览日期

4.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

SQL 窗口函数

窗口函数形如: 表达式 OVER (PARTITION BY 分组字段 ORDER BY 排序字段) 有两个能力: 当表达式为 rank() dense_rank() row_number() 时,拥有分组排序能力...各分组排序函数差异 我们 rank() dense_rank() row_number() 结果都打印出来: SELECT *, rank() over (PARTITION BY city ORDER...,按照 people 排序后进行了 累加(相同值会合并在一起),这就是 BI 工具一般说 RUNNGIN_SUM 实现思路,当然一般我们排序规则使用绝对不会重复日期,所以不会遇到第一个红框中合并计算问题...我们看下面的例子: 按照地区分组后进行累加聚合,是对 GROUP BY 后数据行粒度进行,而不是之前明细行。...总结 窗口函数在计算组内排序或累计 GVM 等场景非常有用,我们只要牢记两个知识点就行了: 分组排序要结合 PARTITION BY 才有意义。 累计聚合作用于查询结果行粒度,支持所有聚合函数。

1.4K30

PowerBI 致敬 Tableau 10大表计算

为此,需要设置一个“投资日期”,并将这些股票标准化到同一个时间点,用线条显示百分比变化。可使用滑块调整参考日期。...整理时保持排序 这里我们需要了解产品在一个月和一年内排名,然后显示排名随时间变化。为此,我们创建一个凹凸图,其中以折线图形式显示随时间变化。...可变时段移动平均 您已使用 Tableau 中快速表计算功能,计算了所有月份销售额移动平均,但现在希望进行扩展,以便选择要计算多少个时段平均值。...淡蓝色线条显示所有月份销售额总和,而橙色线条显示 15 个时段销售额移动平均。...,如何基于现有的 PowerBI 特点做出合理设计也就给出了更多方法。

4K20

数分面试必考题:窗口函数

在上面的代码中可以看出,是按照产品类型去分组,在组内以价格顺序升序排列,运行结果如下。(rank排序下面会单独说) ?...至于窗口函数与group by区别: 两个order by区别,第一个窗口函数中order by只是决定着窗口里数据排序方式,第二个普通order by决定查询出数据以什么样方式整体排序...作为窗口函数聚合函数,常见聚合函数有sum、avg、max、min跟count。他们跟窗口函数组合到一起,就会把聚合函数功能和窗口函数组合在一起。 例二 代码及结果为 ? ?...窗口函数应用真题解析 1、topN问题或者组内排序问题 在实际场景中,我们会经常会遇到排序或者排名问题,这个时候使用窗口函数会使问题变简单。 求出每个课程学生成绩排名: ?...1等差数列; 第一步,先用row_number()函数排序,然后用登录日期减去排名,得到辅助列日期,如果辅助列日期是相同的话,证明用户是连续登录。

2.3K20

Open Source - 高效报表工具选型与推荐

有些工具可视化点击操作做得更人性化,体验更好,更适合初级学习人员 ---- 示例2:带条件分组 基于同一个数据表,我们改一下表样,稍微增加一些难度,根据日期字段中年来分组,看看不同产品操作上有什么变化...只考察最简单情况是看不出这些区别的 ---- 示例3:再复杂一些分组 还是基于这个数据表,我们做个一个格式再复杂一些表样 按销售人员统计优质订单情况,优质订单指:回款日期在订单日期30日内且单笔订单金额...D3:=count(C3\[A3\]{C3>$C3})+1,班级内排名 E3:=count(C3\[`0\]{C3>=$C3})+1,年级排名 F3:=ds2.select(zf,bj\==A3...,用隐藏格还能做出来,有些报表工具连这个都没有,只能自己在外部写代码实现了,工作效率会大受影响 ---- 示例5:找出指定时间内大客户 从如下销售数据中: 取出指定时段大客户。...工具购买价格和开发效率要放在一起综合考虑才能得到总体成本 比如大家可能都会想到使用不要钱开源报表,购买价格为0,但开发效率太低(面对我国复杂报表),结果总体成本却不低。

51250

这款国产报表工具,是真的太好用了

有些工具可视化点击操作做得更人性化,体验更好,更适合初级学习人员 示例 2:带条件分组 基于同一个数据表,我们改一下表样,稍微增加一些难度,根据日期字段中年来分组,看看不同产品操作上有什么变化...只考察最简单情况是看不出这些区别的 示例 3:再复杂一些分组 还是基于这个数据表,我们做个一个格式再复杂一些表样 按销售人员统计优质订单情况,优质订单指:回款日期在订单日期 30 日内且单笔订单金额...也是我们考察重点 我们继续用两个示例来看下更复杂报表开发效率如何考察 示例 4 侧重于考察报表工具函数功能,看一些复杂计算场景中,是否有对应高级函数来直接解决问题,示例 5 侧重于考察工具处理一些复杂多步...D3:=count(C3[A3]{C3>$C3})+1,班级内排名 E3:=count(C3[`0]{C3>=$C3})+1,年级排名 F3:=ds2.select(zf,bj==A3 && studentid...工具购买价格和开发效率要放在一起综合考虑才能得到总体成本 比如大家可能都会想到使用不要钱开源报表,购买价格为 0,但开发效率太低(面对我国复杂报表),结果总体成本却不低。

55330

公式化价值投资:要想当股神,还得擦亮眼!

HML列是完整HML价值因子在不同时间段超额收益。全时段1926-2015来看,该因子具有显著正超额收益。但分时段来看,1926-1962和2002-2015两个时间段超额收益并不显著。...从全时段来看,大盘部分HML并不存在显著超额收益。...下图是高价值组合相对于中价值组合期初溢价和期末溢价,并按上述公式溢价变动分解为价格变动影响和财务变动影响两个部分。 ?...成功基本面分析对价值投资帮助 作者B/M指标和账面价值未来对数变动排名指标分成十等份,并使用Fama-MacBeth方法作回归分析。主要有以下结果: ?...我们把中国神奇公式指数和沪深300价值指数及沪深300指数放在一起对比: ?

53710

你违规了吗?

1)curdate()函数:获取当前日期; 2)date_sub(指定日期,interval … day):获取指定日期…天之前日期。...涉及到“每个”,要想到《猴子 从零学会SQL》里讲过用“分组汇总”,按班级、学生分组(group by),汇总(分数求和sum) select 班级id,学生id, sum(分数) as 总分 from...条件筛选 题目中设定了两个查询条件: 条件一:班级排名 <= 10; 条件二:要求“半年内没有违纪记录学生”-->通过排除“半年内有违纪记录学生”进行过滤。...select 学生id,总分,班级排名,班级id from a5 where 班级排名 <= 10 and 学生id not in t1; 子查询代入: select 学生id,总分,班级排名,班级...; 2)考查对分组函数group by灵活使用; 3)考查对多表联结了解,特别是灵活使用where条件进行数据过滤。

33710

MongoDB系列六(聚合).

不同管道操作符可以按任意顺序组合在一起使用,而且可以被重复任意多次。...这样做有两个好处:一是可以快速将不需要文档过滤掉,以减少管道工作量;二是如果在投射和分组之前执行"$match",查询可以使用索引。...分组(grouping)—> $group      如果选定了需要进行分组字段,就可以选定字段传递给"$group"函数"_id"字段。...在聚合中也是如此,因为它必须要先匹配到所有需要跳过文档,然后再将这些文档丢弃。 拆分(unwind)—> $unwind 可以数组中每一个值拆分为单独文档。    ...{"$mod" : [expr1, expr2]} 接受两个表达式,第一个表达式除以第二个表达式得到余数作为结果。 字符串表达式 适用于单个文档运算。

4.8K60

你不知道事:AWR 基线和 AWR Compare Period Report 功能介绍

基线是某个时段内生成一组快照,按照统计学对这些快照进行了分组,以便获得一组随时间变化基线值,可以以任何时段快照采样来做基线,只不过一般情况下我们大多会选择系统正常时段快照来做基线。...使用基线模板安排基线创建操作。 重命名基线。 设置基线到期日期。...基线模板: 基线模板允许定义可能在将来要捕捉基线,create_baseline_template 存储过程定义单一基线或重复基线捕捉,创建单一基线模板与创建基于时间基线类似,除了将来时间外。...重复基线模板稍微有点不同,因为它需要调度信息,start_time 和 end_time 参数分别在模板激活和释放时定义,day_of_week、hour_in_day 和 duration 定义产生基线日期...接下来使用 awrddrpt.sql 脚本来生成两个 AWR 对比数据: ? ? ? 生成 AWR 部分信息: ? ?

90820

总结了50个最有价值数据可视化图表

这些图表根据可视化目标的 7 个不同情景进行分组。 例如,如果要想象两个变量之间关系,请查看“关联”部分下图表。或者,如果您想要显示值如何随时间变化,请查看“变化”部分,依此类推。...这用于可视化 X 和 Y 之间关系以及单独 X 和 Y 单变量分布。这种图经常用于探索性数据分析(EDA)。 7....连续变量直方图(Histogram for Continuous Variable) 直方图显示给定变量频率分布。下面的图表示基于类型变量对频率条进行分组,从而更好地了解连续变量和类型变量。...树状图(Dendrogram) 树形图基于给定距离度量将相似的点组合在一起,并基于相似性将它们组织在树状链接中。 48....或者,您可以第一个到主要组件用作 X 轴和 Y 轴。 49. 安德鲁斯曲线(Andrews Curve) 安德鲁斯曲线有助于可视化是否存在基于给定分组数字特征固有分组

3.3K10

50个最有价值数据可视化图表(推荐收藏)

这些图表根据可视化目标的 7 个不同情景进行分组。例如,如果要想象两个变量之间关系,请查看“关联”部分下图表。或者,如果您想要显示值如何随时间变化,请查看“变化”部分,依此类推。 ?...这用于可视化 X 和 Y 之间关系以及单独 X 和 Y 单变量分布。这种图经常用于探索性数据分析(EDA)。 ? 7....连续变量直方图(Histogram for Continuous Variable) 直方图显示给定变量频率分布。下面的图表示基于类型变量对频率条进行分组,从而更好地了解连续变量和类型变量。 ?...树状图(Dendrogram) 树形图基于给定距离度量将相似的点组合在一起,并基于相似性将它们组织在树状链接中。 ? 48....或者,您可以第一个到主要组件用作 X 轴和 Y 轴。 ? 49. 安德鲁斯曲线(Andrews Curve) 安德鲁斯曲线有助于可视化是否存在基于给定分组数字特征固有分组

4.5K20

50 个数据可视化图表

这些图表根据可视化目标的 7 个不同情景进行分组。例如,如果要想象两个变量之间关系,请查看“关联”部分下图表。或者,如果您想要显示值如何随时间变化,请查看“变化”部分,依此类推。...这用于可视化 X 和 Y 之间关系以及单独 X 和 Y 单变量分布。这种图经常用于探索性数据分析(EDA)。 7....连续变量直方图(Histogram for Continuous Variable) 直方图显示给定变量频率分布。下面的图表示基于类型变量对频率条进行分组,从而更好地了解连续变量和类型变量。...树状图(Dendrogram) 树形图基于给定距离度量将相似的点组合在一起,并基于相似性将它们组织在树状链接中。 48....或者,您可以第一个到主要组件用作 X 轴和 Y 轴。 49. 安德鲁斯曲线(Andrews Curve) 安德鲁斯曲线有助于可视化是否存在基于给定分组数字特征固有分组

3.9K20

RFM会员价值度模型

在得到不同会员RFM之后,根据步骤⑤产生两种结果有两种应用思路 思路2:基于RFM汇总得分评估所有会员价值度价值,并可以做价值度排名。...案例背景介绍  用户价值细分是了解用户价值度重要途径,针对交易数据分析常用模型是RFM模型 业务对RFM结果要求 对用户做分组 每个组用户特征概括和总结出来,便于后续精细化运营不同客户群体,...汇总所有数据  汇总所有数据: 4年数据使用pd.concat方法合并为一个完整dataframe data_merge,后续所有计算都能基于同一个dataframe进行,而不用写循环代码段对每个年份数据单独计算...3列使用astype方法数值型转换为字符串型 然后使用pandas字符串处理库str中cat方法做字符串合并,该方法可以右侧数据合并到左侧 再连续使用两个str.cat方法得到总R、F、M字符串组合...第1行代码使用数据框groupby以rfm_group和year为联合对象,以会员ID会为计算维度做计数,得到每个RFM分组、年份下会员数量 第2行代码对结果列重命名 第3行代码rfm分组列转换为

22010

神奇 SQL ,高级处理之 Window Functions → 打破我们局限!

开心一刻   今天儿子跟老婆聊天   儿子:妈妈,我为什么没有两个爸爸呀   老婆:每个人都只有一个爸爸呀,你看谁有两个爸爸了   儿子一脸真诚看着老婆:那你为什么就有两个爸爸呢   老婆一脸疑惑望向儿子...等等   2、能够作为窗口函数聚合函数,如: SUM 、 AVG 、 COUNT 、 MAX 、 MIN   后续案例演示我们基于 MySQL8.0.30 ,初始表 tbl_ware 及数据如下...OLAP 专用函数,通过函数名很容易看出其 OLAP 用途   RANK   从名字可知,该函数用来排名、排序   1、假设我们对 tbl_ware 按售价从高到低进行排名, SQL 该如何写   相信大家很容易就写出来了...,然后组内按售价从高到低进行排名, SQL 又该如何写   有小伙伴一看到分组二字,第一反应肯定想到了 GROUP BY ,不只是你们,我也是一样   但 GROUP BY 往往结合 聚合函数 使用,...并不是一个单独汇总值,而是逐行汇总,是不是有点意思?

16710

游戏行业实战案例2:玩家等级

“登出日志”和“登录日志”字段数和字段含义一致,因此“登出日志”和“登录日志”纵向联结可以使用union all子句。...对每个玩家按时间排序即是分组排序,使用排序窗口函数即可实现。即:以角色id进行分组(partition by 角色id),以时间进行排序(order by 时间),获取每个玩家下每个时间排名。...where 日期 = '2022-08-13') as a; 查询结果如下: 将上述查询结果设为临时表b,从该临时表中筛选出排名为1(where 排名 = 1)数据即可得到玩家停留等级信息。...SQL书写方法: select * from b where 排名 = 1; 临时表b具体SQL语句带入,完整SQL书写方法: select * from (select *,rank() over...计算各等级停留角色数分为两步: 第一步,对各停留角色等级进行分组; 第二步,分组后,计算各等级角色数。

97630

个人永久性免费-Excel催化剂功能第37波-把Sqlserver强大分析函数拿到Excel中用

分组列为两列时效果 分组序号 分组序号函数特点,在分组记录数中,每一行返回从1开始不重复递增序列,基于排序列定义顺序,分组列,排序列可以为多列,当排序规则下排序列相同,将从上往下填充递增序号...多个分组列下单个排序列效果 分组排名 类似以上分组序号,返回递增序列值,但此处对重复值有相同排名 同时对重复值排名区分了美式排名和中式排名两种 ?...分组排名效果 分组求和 结果类似SUMIF和SUMIFS函数求和效果,因采用一次计算多值返回手段,效率性能对大数据量有极大提升 ? 类似SUMIF单组求和效果 ?...、命名、排序、工作表目录) 第31波-数量金额分组凑数功能,财务表哥表姐最爱 第32波-空行空列批量插入和删除 第33波-报表形式数据结构转标准数据源 第34波-提取中国身份证信息、农历日期转换相关功能...Excel插件,插件持续性地更新,更新周期视本人时间而定争取一周能够上线一个大功能模块。

1.7K20

pandas实战:出租车GPS数据分析

# 转换日期类型 df['time'] = pd.to_datetime(df['time']) 原数据time只有时分秒,没有年月日,因此转换后年月日默认使用了当前日期。...经过观察后,我们可以这样做去重处理: 如果status全部相同,那么任意选一个,比如选第一个 如果status不同,那么基于少数服从多数原则,从多个值里选择一个。...和time组合都对应着stat_cnt和stat_sum两个特征,根据两个特征值不同组合就可以判断重复不同情况了(如图)。...状态差值为1(上车)和 -1(下车)筛选出来,并且两个状态下需为同一辆车。...2)订单时段数量统计 需求12:统计各小时订单数分布 前面我们已经time时间转换为时间类型了,那么时间戳转换为小时就非常简单了,时间属性方法可以参考传送门。

72410
领券