Doris取每个季度 时间维度内的topN条数据,对应的sql查不出来怎么办?

提问者:帅平 问题分类:数据库
各位,我现在使用window_function处理按照季度分组数据,然后取每个季度 时间维度内的topN条数据,使用上面的sql可以查出来数据,
Doris取每个季度 时间维度内的topN条数据,对应的sql查不出来怎么办?
但是使用下面的sql查不出来数据
但是如果手动翻数据的话,可以找到row_num=1的数据,有大佬知道这个是什么原因吗
sql如下:
SELECT date, gtsx, row_num
FROM (SELECT CONCAT(YEAR(date), '-Q', QUARTER(date))                                              AS date,
             first_value(`gtsx`) over (PARTITION BY YEAR(date), QUARTER(date) ORDER BY date DESC) AS gtsx,
             ROW_NUMBER() over (PARTITION BY YEAR(date), QUARTER(date) ORDER BY date DESC)        as row_num
      FROM doris_dzw_demo_v1) AS ranked_data
where row_num=1
ORDER BY date desc;



SELECT date, gtsx, row_num
FROM (SELECT CONCAT(YEAR(date), '-Q', QUARTER(date))                                       AS date,
             gtsx,
             ROW_NUMBER() OVER (PARTITION BY YEAR(date), QUARTER(date) ORDER BY date DESC) AS row_num
      FROM doris_dzw_demo_v1) AS ranked_data
where row_num=1
ORDER BY date desc;
1 个回答
候你多时
候你多时
原始数据中存在某些日期的重复值或者不一致性,可能会导致窗口函数的行为不可预测
发布于:3个月前 (06-24) IP属地:四川省
我来回答