Hi, FILTER是SQL标准里的语法,可以参考[1] FLINK SQL是支持该语法的,类似的例子官网文档可以参考 [2]中最后的例子
Best, Leonard Xu [1] https://modern-sql.com/feature/filter <https://modern-sql.com/feature/filter> [2]https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/table/tuning/streaming_aggregation_optimization.html <https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/table/tuning/streaming_aggregation_optimization.html> > 在 2020年4月27日,05:51,王双利 <all...@163.com> 写道: > > 没找到 filter这个语法 > > > > 王双利 > > 发件人: Jark Wu > 发送时间: 2020-04-26 23:50 > 收件人: user-zh > 主题: Re: sql 行转列 > Hi > > 如果我理解的没错,agg with filter 语法能满足你的需求。 > > select ip, > sum(t) filter (where status = 'success') > sum(t) filter (where status = 'fail') > from view1 > group by ip > > Best, > Jark > > On Sun, 26 Apr 2020 at 20:56, Leonard Xu <xbjt...@gmail.com> wrote: > >> Hi, >> >>> select ip, >>> case status when 'success' THEN sum(t) ELSE 0 end successct, >>> case status when 'fail' THEN sum(t) ELSE 0 end failct >>> from view1 >>> group by ip >> >> 这个 sql 应该ok的,看讨论也可以满足你的需求,是有报错吗?麻烦贴下报错和 view1的大致逻辑 >> >> Best, >> Leonard Xu