最近在使用flink1.12 
的sql方式时,发现ROW_NUMBER去重的结果不符合预期。具体表现为:当在第二天有新的optime出现时,下发的时间却还是昨天日志中的optime,看到官方文档中说该去重函数只支持单个的时间属性
 排序/降序,所以不知是否我自己的sql中使用了两个字段排序造成的?代码如下,大佬帮忙看看:




SELECT
                    pk_id, 
                    optime_timestamp,
                    process_time
                FROM (
                    SELECT
                        pk_id,
                        process_time,
                        CAST(optime / 1000 AS BIGINT) AS optime_timestamp,
                        ROW_NUMBER() OVER(PARTITION BY pk_id ORDER BY 
FROM_UNIXTIME(CAST(optime / 1000 AS BIGINT), 'yyyyMMdd') DESC, optime) AS rn
                    FROM 
                        tabke_a
                ) t
                WHERE                  

  rn = 1









回复