sql数据练习

---组内排名
select *from (
select  brank,keyword,sum(price) as `营业额` ,dense_rank() over (partition  by keyword order by sum(price) desc) as `排名`
from CityRecord group by brank,keyword )t1
where `排名`<=10
--if匹配语句
select item_id, sum(if(flag==1,1,0))  as `浏览人数`,sum(if(flag==2,1,0))as `收藏人数`,
sum(if(flag==3,1,0)) as `订单人数`,sum(if(flag==4,1,0)) as `付款人数`,(`付款人数`/`浏览人数`) as `转化率` from UserBea  
group by item_id 
order by `转化率` desc
--查询每日新增的用户 
select count(user_id) as `新增人数` ,toDate(`日期`) as `日期` from(
select user_id,MIN(times) as `日期` from UserBea ub2 where user_id in(
select DISTINCT  user_id from UserBea)
group by user_id 
)group by `日期`
--查询七天内活跃用户
select  user_id ,count(`日期`) as `登陆次数`from(   
select user_id,  toYYYYMMDD(toDate(times)) AS `日期` from UserBea
where  `日期`<=toYYYYMMDD(now()) and (toYYYYMMDD(now())-8)<`日期`)
group by user_id 
having `登陆次数`>=10
--查询七天内连续登陆的用户
select user_id ,count( DISTINCT  `日期`) as `七天登陆次数` from (
select user_id,  toYYYYMMDD(toDate(times)) AS `日期` from UserBea
where  `日期`<=toYYYYMMDD(now()) and (toYYYYMMDD(now())-7)<`日期`)t1
group by user_id 
having `七天登陆次数`=7
--建表语句一 
CREATE TABLE alibaba.UserBea
(

    `user_id` Int64,

    `cate_id` Int32,

    `item_id` Int32,

    `times` Int64,

    `ip` String,

    `flag` Int8
)
ENGINE = MergeTree
ORDER BY user_id
SETTINGS index_granularity = 8192;

--建表语句二
CREATE TABLE alibaba.CityRecord
(

    `user_id` String,

    `item_id` String,

    `cate_id` String,
    `order_id` String,

    `times` Int64,

    `name` String,

    `keyword` String,

    `factory` String,

    `price` Float32,

    `pro` String,

    `city` String,

    `par` String,
    `brank`  String
)
ENGINE = MergeTree
ORDER BY user_id
SETTINGS index_granularity = 8192;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值