Hi, 试试用这种方式呢:count(1) filter (where name like '南京%')
anonnius <anonn...@126.com> 于2020年9月27日周日 下午5:29写道: > select count(nullif(if(name not like '南京%', '其他', '南京'), '其他')) > > > > > > > > > > > > > > > > > > 在 2020-09-27 17:23:07,"zya" <z_yu...@foxmail.com> 写道: > >你好,链接无法显示,能麻烦再贴下吗 > > > > > >------------------ 原始邮件 ------------------ > >发件人: > "user-zh" > < > anonn...@126.com>; > >发送时间: 2020年9月27日(星期天) 下午5:20 > >收件人: "user-zh"<user-zh@flink.apache.org>; > > > >主题: Re:回复:flink sql count问题 > > > > > > > >hi:<br/>这种方法看下能否满足<br/>select count(nullif(if(name not like '南京%', > '其他', '南京'), '其他')) > >在 2020-09-27 17:07:39,"zya" <z_yu...@foxmail.com> 写道: > >>貌似只能这样了,感谢回答 > >> > >> > >> > >> > >>------------------&nbsp;原始邮件&nbsp;------------------ > >>发件人: > "user-zh" > <greemqq...@163.com&gt;; > >>发送时间:&nbsp;2020年9月27日(星期天) 下午5:03 > >>收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;; > >> > >>主题:&nbsp;Re:回复:flink sql count问题 > >> > >> > >> > >>你count 也会生成记录啊。 你过滤掉就行&nbsp;&nbsp; 。 比如 having xxx&nbsp; > ,或者加个filter > >>在 2020-09-27 17:01:06,"zya" <z_yu...@foxmail.com&gt; 写道: > >>&gt;这个是我现在的做法,但是的问题就是使用sum会在条件没满足时也会在mysql中生成一条记录 > >>&gt;&amp;nbsp; > >>&gt; > >>&gt; > >>&gt; > >>&gt; > > >>&gt;------------------&amp;nbsp;原始邮件&amp;nbsp;------------------ > >>&gt;发件人:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; > "user-zh"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; > <greemqq...@163.com&amp;gt;; > >>&gt;发送时间:&amp;nbsp;2020年9月27日(星期天) 下午4:59 > >>&gt;收件人:&amp;nbsp;"user-zh"<user-zh@flink.apache.org > &amp;gt;; > >>&gt; > >>&gt;主题:&amp;nbsp;Re:flink sql count问题 > >>&gt; > >>&gt; > >>&gt; > >>&gt;最好把null 变成0,&amp;nbsp; 你这样&amp;nbsp;&amp;nbsp; > sum(if(name like '南京%',1 , 0)) > >>&gt;在 2020-09-27 16:53:56,"zya" <z_yu...@foxmail.com&amp;gt; > 写道: > >>&gt;&amp;gt;请教各位: > >>&gt;&amp;gt;我有一个sql任务需要进行count,在count中有一个表达式,只想count符合条件的记录, > >>&gt;&amp;gt;之前在hive中是这么写的:count(if(name like '南京%',1 , > null)),但是flink sql中count不能为null,有什么别的方法能实现该功能吗? > >>&gt;&amp;gt;使用的是flink1.10.1 blink > >>&gt;&amp;gt;&amp;amp;nbsp; > -- Best, Benchao Li