hivesql刷题40题-【11-20】

1.11 用户注册、登录、下单综合统计

1.11.1 题目需求

从用户登录明细表(user_login_detail)和订单信息表(order_info)中查询每个用户的注册日期(首次登录日期)、总登录次数以及其在2021年的登录次数、订单数和订单总额。期望结果如下:
在这里插入图片描述

select login.user_id, register_date, total_login_count,login_count_2021,order_count_2021,order_amount_2021
from (
         select user_id,min(date_format(login_ts, 'yyyy-MM-dd')) as register_date,
         count(1) total_login_count,
         count(if(year(login_ts) = '2021', 1, null)) login_count_2021
         from user_login_detail
         group by user_id
     ) login
         join
     (
         select user_id,count(distinct(order_id))  order_count_2021,
         sum(total_amount) order_amount_2021
         from order_info
         where year(create_date) = '2021'
         group by user_id
     ) oi
     on login.user_id = oi.user_id

1.12 查询指定日期的全部商品价格

1.12.1 题目需求

从商品价格修改明细表(sku_price_modify_detail)中查询2021-10-01的全部商品的价格,假设所有商品初始价格默认都是99。期望结果如下:
在这里插入图片描述

select sku_info.sku_id,nvl(new_price, 99) as price
from sku_info
left join
     (
         select sku_id,new_price
         from (
                  select sku_id,new_price,change_date,row_number() over (partition by sku_id order by change_date desc) rn
                  from sku_price_modify_detail
                  where change_date <= '2021-10-01'
              ) t1
         where rn = 1
     ) t2
  on sku_info
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值