FlinkSQL 窗口内排序使用方法疑问

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

FlinkSQL 窗口内排序使用方法疑问

Roc Marshal
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.
Reply | Threaded
Open this post in threaded view
|

Re: FlinkSQL 窗口内排序使用方法疑问

359502980@qq.com
多个字段的排序,每个字段都要指定排序类型,默认是升序,你的第一个字段是升序,第二个才是。所以看到的顺序不是你想要的。

发自我的iPhone

> 在 2020年10月22日,上午10:52,Roc Marshal <[hidden email]> 写道:
>
> 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.