row_number() 开窗后,where 条件过滤数据重复

为了更快的定位您的问题,请提供以下信息,谢谢
【详述】问题详细描述
【背景】做过哪些操作?
【业务影响】
【StarRocks版本】例如:3.0.0
【集群规模】例如:3fe(1 follower+2observer)+5be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【联系方式】社区群14- 周
【附件】

select
max(diff),
date_f
from
(
select
seconds_diff(s_time, f_time) diff,
date_f
from
(
select
max(consume_date) s_time,
min(consume_date) f_time,
date_format(consume_date, ‘%Y-%U’) date_f,
code
from
(
select
*
from
(
SELECT
code,
consume_date,
row_number() over(
PARTITION by cons.code
order by
consume_date desc
) o
FROM
tablename
where
consume_date >= ‘2021-01-01’
and consume_date <= ‘2022-01-01’
and group_code = 1111111
) t
where
o <= 2
) tt
group by
code,
date_format(consume_date, ‘%Y-%U’)
) ttt
) tttt
group by
date_f
order by
date_f asc

result:
±----------±--------+
| max(diff) | date_f |
±----------±--------+
| 0 | 2021-00 |
| 0 | 2021-00 |
| 0 | 2021-00 |
| 0 | 2021-00 |
| 345600 | 2021-01 |
| 0 | 2021-01 |
| 172800 | 2021-01 |
| 259200 | 2021-01 |
| 172800 | 2021-02 |
| 86400 | 2021-02 |
±----------±--------+

2021-00出现了数据重复,2021-01也重复了

将 (where o <= 2)这个条件去掉后,结果是正确的,如下所示:
±----------±--------+
| max(diff) | date_f |
±----------±--------+
| 0 | 2021-00 |
| 518400 | 2021-01 |
| 518400 | 2021-02 |
| 518400 | 2021-03 |
| 518400 | 2021-04 |
±----------±--------+

升到3.0最新的release试试?

升级最新版本

好的,升级后确实可以了

嗯呢,升级就可以解决