![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
Jelly-ha
这个作者很懒,什么都没留下…
展开
-
hive练习题(七)
计算客户平均购买一次商品的间隔时间数据ods_sales_orders字段第一步:找出用户第一次下单后的下一笔订单的消费日期知识点:lead函数将用户的下单日期按照从早到晚排序,可以看到最早消费日期为‘2018-12-31’,考虑到有用户只消费了一次,找不到下次订单的消费日期,所以在lead函数中将找不到的值,默认设为‘2018-12-31’,这样在计算两笔订单消费日期的时间跨度时,可以过滤掉只消费过一次的用户。SELECT customer_key,create_date,lead(crea原创 2020-09-02 17:46:29 · 315 阅读 · 0 评论 -
hive练习题(六)
统计各个省份所属城市下最受欢迎的Top 3产品和其销量(不能出现有null)所需数据表包括订单明细表和每日新增用户表可以看出订单明细表存放的是产品信息,而每日新增用户表存放的是客户信息。所需字段:城市,产品,销量第一步:订单明细表和每日新增用户表连接,并求得每个城市下每个产品的订单量SELECT a.chinese_city AS city ,b.product_key,COUNT(b.sales_order_key) AS sale_amountFROM ods_customer a LE原创 2020-09-01 17:10:25 · 530 阅读 · 0 评论 -
hive练习题(五)
商品的销售数量Top10,排名需要考虑并列排名的情况数据表ods_sales_orders的前10行第一步: 对统计每个产品的订单量SELECT product_key,COUNT(sales_order_key) AS sale_amount FROM ods_sales_orders GROUP BY product_key第二步:对订单量进行排序知识点:dense_rank()是连续排序,比如有两个第一名时后面仍然跟着第二名SELECT a.product_key AS produc原创 2020-09-01 16:31:21 · 236 阅读 · 0 评论 -
hive练习题(四)
求用户最先购买的两种子类别产品信息(cpzl_zw),要求拼接成 “用户号-产品1-产品2” 的形式数据表ods_sales_orders的前十行第一步:求出每位客户消费的下一个产品SELECT customer_key, cpzl_zw, row_number() over(partition by customer_key order by create_date) as order_num, lag(cpzl_zw,1) over(partition by原创 2020-09-01 13:35:54 · 198 阅读 · 0 评论 -
hive练习题(三)
用户号场景访问时间110011400210021401110021402110011402210031403210041404310031400………要求:用户号对应前两个不同场景,场景重复的话选择场景的第一个访问时间,场景号不足两个的输出为止输出结果示例:result1-1001-10022-1002-10033-1003…create table test...原创 2020-08-31 16:35:20 · 408 阅读 · 0 评论 -
hive练习题(二)计算用户的复购率和回购率
hive练习题(二)计算用户的复购率和回购率数据表ods_sales_orders前10行复购率定义:在某时间窗口内重复消费用户(消费两次及以上的用户)在总消费用户中占比例如,按月作为统计窗口,当前月份购买2次及以上的客户占当前月份所有客户的比例。第一步:计算每位客户在每月的消费次数create table temp1 as SELECT customer_key,DATE_FORMAT(create_date,'YYYY-MM') AS umonth,COUNT(customer_key)原创 2020-08-31 10:49:11 · 2578 阅读 · 1 评论 -
hive练习题(一)
hive练习题(一)数据表ods_sales_orders前10列的数据题目:计算每个用户截止到每月为止的最大交易金额和累计到该月的总交易金额题干分解:每个用户、截止到每月为止的最大交易金额和累计总交易金额第一步:计算每位用户在每月消费的总金额create table temp as select customer_key,DATE_FORMAT(create_date,'YYYY-MM') AS umonth,sum(unit_price) AS usum FROM ods_sales_or原创 2020-08-30 19:08:31 · 484 阅读 · 0 评论 -
sql留存用户率练习题
sql练习题手机中的相机是深受大家喜爱的应用之一,现在该手机厂商想要分析手机中的应用(相机)的活跃情况,需统计如下数据:某日活跃用户(用户id)在后续的一周内的留存情况(计算次日留存用户数,3日留存用户数,7日留存用户数)指标定义某日活跃用户数,某日活跃的去重用户数。N日活跃用户数,某日活跃的用户数在之后的第N日活跃用户数。N日活跃留存率,N日留存用户数/某日活跃用户数例:登陆时间(20180501日)去重用户数10000,这批用户在20180503日仍有7000人活跃,则3日原创 2020-07-20 22:25:55 · 1165 阅读 · 0 评论