在大促看打点数据时候,按照分钟看数,如果某个分钟没有数据,则取上一行的数据
SELECT
*,
first_value(bt_pin_cnt) over(partition BY flag order by dt, first_ordr_time) AS bt_pin_cnt_new --comment if add 0 then they will share same partition ,in the same partition we fetch first value will be good
FROM
(
SELECT
pin_cnt,
pay_pin_cnt,
bt_pin_cnt,
SUM(
CASE
WHEN bt_pin_cnt = 0 --comment if the data is null or not exists then sum 0 else sum 1 order by some time filed .
THEN 0
ELSE 1
END) over(order by dt, first_ordr_time) AS flag,
first_ordr_time,
dt
FROM you_knowlage_info
) x
经过验证本代码是可用的 ,具体的解析看正文的comments