言之有李LAX 2023-07-25 18:59 采纳率: 16.7%
浏览 20

hive如何实现查询n天内销售值是连续增长的

code   amount date
1001    100   2023-01-10
1001    101   2023-01-09
1001    99   2023-01-08
1002    110   2023-01-10
1002    109   2023-01-09
1002    102   2023-01-08
.
.
.

通过hive怎么获取到连续n天是增长状态的编码,比如我查询2023-01-10这天的数据 也就是从2023-01-10这天往前数三天,看这三天的数据中amount是否连续增长,表中1001就不是,1002则符合。

如果连续天数是固定的比如三天 我勉强能写出来,但是要是非固定的或者非常多的情况下就不好实现了,各位能否给提供下思路
我现在写了一个三天的,但是如果是30天就显得代码非常臃肿


```bash
select b.code,b.`date`,b.dd
from (select a.id,
             a.`date`,
             a.code,
             a.dd,
             rank() over ( partition by code order by `date` desc ) as rank_alias
      from (select id,
                   code,
                   `date`,
                   amount,
                   3 as                                                                   dd,
                   nvl(lead(amount, 1) over (partition by code order by `date` desc ), 0) l1amount,
                   nvl(lead(amount, 2) over (partition by code order by `date` desc ), 0) l2amount
            from kd_stock_history_info
            where day <= '2023-07-24'
              and day > date_add('2023-07-24', -10)) a
      where a.l1amount > a.amount
        and a.l2amount > a.l1amount
      order by a.code) b
where b.rank_alias = 1;

```

  • 写回答

3条回答 默认 最新

报告相同问题?

问题事件

  • 创建了问题 7月25日

悬赏问题

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