You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by Roc Marshal <fl...@126.com> on 2020/10/22 02:51:41 UTC
FlinkSQL 窗口内排序使用方法疑问
Hi,
SELECT
TUMBLE_START(ts, INTERVAL '1' day) as window_start,
TUMBLE_END(ts, INTERVAL '1' day) as window_end,
c1,
sum(c2) as sc2
FROM sourcetable
GROUP BY TUMBLE(ts, INTERVAL '1' day), c1
ORDER BY window_start, sc2 desc limit 10
这个sql希望能够以一天为窗口(翻滚)进行计算窗口 按照c1分组,并对c2列求和(sc2)后对sc2进行窗口内排序。但是结果看起来,结果集中窗口内的数据列sc2并没有有序(降序/或者升序)排列。
能不能根据我的需求和sql的写法诊断一下问题出在哪里?或者说给一下建议,好让我定位到自己对flinksql使用的误区在哪?
谢谢!
Best Roc.
Re: FlinkSQL 窗口内排序使用方法疑问
Posted by "359502980@qq.com" <35...@qq.com>.
多个字段的排序,每个字段都要指定排序类型,默认是升序,你的第一个字段是升序,第二个才是。所以看到的顺序不是你想要的。
发自我的iPhone
> 在 2020年10月22日,上午10:52,Roc Marshal <fl...@126.com> 写道:
>
> Hi,
>
>
>
>
> SELECT
>
> TUMBLE_START(ts, INTERVAL '1' day) as window_start,
>
> TUMBLE_END(ts, INTERVAL '1' day) as window_end,
>
> c1,
>
> sum(c2) as sc2
>
> FROM sourcetable
>
> GROUP BY TUMBLE(ts, INTERVAL '1' day), c1
>
> ORDER BY window_start, sc2 desc limit 10
>
>
> 这个sql希望能够以一天为窗口(翻滚)进行计算窗口 按照c1分组,并对c2列求和(sc2)后对sc2进行窗口内排序。但是结果看起来,结果集中窗口内的数据列sc2并没有有序(降序/或者升序)排列。
> 能不能根据我的需求和sql的写法诊断一下问题出在哪里?或者说给一下建议,好让我定位到自己对flinksql使用的误区在哪?
>
>
> 谢谢!
>
>
> Best Roc.