【SQL】搜狐畅游2019校招笔试题-数据分析师

2020-05-12  本文已影响0人  香冷蕊不寒

数据库有两张表, 

A表为游戏登录表,用户每次上线记录一条:dt(登录日期),servertime(登录时间),userid(用户id),rolelevel(用户等级,int);

B表为游戏充值表,用户每次充值记录一条:dt(充值日期),servertime(充值时间),userid(用户id),money(充值金额,int)

请查出: 

1)2018年9月1日~2018年9月7日每天的活跃用户数。指标说明:日活跃用户数指当天登录用户数去重。

2)2018年9月1日~2018年9月7日每天的新增用户数(说明:18年 9月1日为游戏上线第一天,即登录表是从18年9月1日开始有记录)。指标说明:某账号首次登陆游戏算作该游戏的一个新增账号数

3)2018年9月1日当天,20级以上用户的付费总金额。

1)

select dt,count(distinct userid) cnt from A

    where dt between '2018-09-01' and '2018-09-07'

group by dt

2)

select dt,count(distinct userid) new_user

(select userid,min(dt) register_date from A

    where dt between '2018-09-01' and '2018-09-07')

group by dt

3)

    select sum(money)  from

     (select distinct userid from A

     where rolelevel>=20)C

    left join

    B

    on C.userid=B.userid

    where B.dt='2018-09-01'

上一篇下一篇

猜你喜欢

热点阅读