30. 登录次数及交易次数统计

题目需求

分别从登录明细表(user_login_detail)和配送信息表(delivery_info)中,根据用户登录时间和下单时间统计每个用户在每一天的登录次数和交易次数。

期望结果如下:

user_id (用户id)login_date (登录时间)login_count (登陆次数)order_count (交易次数)
1012021-09-2110
1012021-09-2711
1012021-09-2811
1012021-09-2911

需要用到的表:

用户登录明细表:user_login_detail

user_id(用户id)ip_address(ip地址)login_ts(登录时间)logout_ts(登出时间)
101180.149.130.1612021-09-21 08:00:002021-09-27 08:30:00
102120.245.11.22021-09-22 09:00:002021-09-27 09:30:00
10327.184.97.32021-09-23 10:00:002021-09-27 10:30:00

配送信息表:delivery_info

delivery_id (运单 idorder_id (订单id)user_id (用户 id )order_date (下单日期)custom_date (期望配送日期)
111012021-09-272021-09-29
221012021-09-282021-09-28
331012021-09-292021-09-30
实现一
select t1.user_id             as user_id,
       t1.login_date          as login_date,
       t1.login_count         as login_count,
       nvl(t2.order_count, 0) as order_count
from (
         -- 1) 统计每个 user_id 在 每一天的 登录次数
         select user_id,
                date_format(login_ts, 'yyyy-MM-dd') as login_date,
                count(*)                            as login_count
         from user_login_detail
         group by user_id, date_format(login_ts, 'yyyy-MM-dd')
     ) t1
         left join
     (
         -- 2) 统计每个 user_id 在 每一天的 交易(下单)次数
         select user_id,
                order_date,
                count(*) as order_count
         from delivery_info
         group by user_id, order_date
     ) t2
     on t1.user_id = t2.user_id and t1.login_date = t2.order_date;
题目来源

http://practice.atguigu.cn/#/question/30/desc?qType=SQL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dataer__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值