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

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 16: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'
    

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

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

报告相同问题?

问题事件

  • 系统已结题 4月1日
  • 已采纳回答 3月24日
  • 创建了问题 3月24日

悬赏问题

  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装
  • ¥40 复杂的限制性的商函数处理