雨不停,天气晴 2022-03-24 07:57 采纳率: 42.9%
浏览 108
已结题

hive hql 数据库近 7天 30天的 点击,展示 点击率 这个广告方面的

问题遇到的现象和发生背景
 create table zbjs_ggzsdjdjl_one(
  create_time string comment '时间',
  clic string comment '点击',
  show string comment '展示',
  clic_show string comment '点击率'
  );

这个是计算出来每天的点击,展示 点击率
2022-02-19 7 9 0.7777777777777778
2022-02-20 1 3 0.3333333333333333
2022-02-21 4 8 0.5
2022-02-22 2 4 0.5
2022-02-23 2 4 0.5
2022-02-24 3 7 0.42857142857142855
2022-02-25 2 3 0.6666666666666666
根据每天的计算 7 30 一年这样可以吗?或者说我思路是错的

select 
* 
 ,q.a/q.b as djl
  from(
  select 
   sum(clic) as a
  ,sum(show) as b
  from
  zbjs_ggzsdjdjl_week
   )q;

下面是结果,我不知道怎么算7,30,一年,就算了这个表里面全部的数据
加上日期的话分别是一条一条的了
21.0 38.0 0.5526315789473685
我怎样在日的基础上计算出来最近7天的和最近30天以及最近一年的后分别写入7,30这种表里面?要有时间这个字段
或者我该怎么做?

展开全部

  • 写回答

1条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-03-24 08:52
    关注

    将每天的分子和分母分别求和,最后再除,这个是没问题的。
    但是并不清楚你问题卡在哪里了,如果你只想算7天的,直接加个where条件过滤一下数据不就行了?

    select min(create_time ) 开始时间,max(create_time ) 结束时间,
           sum(clic) 点击,sum(show) 展示,sum(clic)/sum(show) 点击率 
     from zbjs_ggzsdjdjl_one 
    where create_time between '2022-02-19' and '2022-02-25'
    

    能不能弄个表格示意一下你最终需要的数据格式是什么样的么?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月31日
  • 已采纳回答 3月24日
  • 创建了问题 3月24日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部