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 zya <z_...@foxmail.com> on 2020/09/27 08:53:56 UTC

flink sql count问题

请教各位:
我有一个sql任务需要进行count,在count中有一个表达式,只想count符合条件的记录,
之前在hive中是这么写的:count(if(name like '南京%',1 , null)),但是flink sql中count不能为null,有什么别的方法能实现该功能吗?
使用的是flink1.10.1 blink
&nbsp;

Re: 回复: flink sql count问题

Posted by Robin Zhang <vi...@outlook.com>.
Hi lemon,
不是很理解你的疑问是什么,flink是事件驱动的,所以,来一条数据,就会被处理,走你的逻辑,就会产生一个结果,如果是第一次出现的key,只有一条数据,如果是状态中已经存在的key,会在控制台输出两条数据,一条true的是最终sink的结果。所以,每次输出一条结果有什么问题吗?


Best,
Robin

----------------------------------------------------------------------------------------------------------------

lemon wrote
> 感谢各位的回答,各位的方法我都试了一下,但是都会在下游输出一条结果,一条不符合条件的语句count会在下游输出0
> 我理解是flink中的count对于每一条数据都会输出一条结果,所以只能把if中的判断条件再放到最后的where中进行过滤
> 类似于 select&nbsp;count(if(name like '南京%',1 , null)) where name
> like&nbsp;'南京%'&nbsp; or name like&nbsp;'杭州%'&nbsp; group by ** 这样
> 
> 
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人:                                                                                                                       
> "user-zh"                                                                                   
> <

> vincent2015qdlg@

> &gt;;
> 发送时间:&nbsp;2020年9月29日(星期二) 下午5:32
> 收件人:&nbsp;"user-zh"<

> user-zh@.apache

> &gt;;
> 
> 主题:&nbsp;Re: flink sql count问题
> 
> 
> 
> Hi lemon,
> &nbsp;&nbsp;&nbsp; 内部判断if函数可以替换为case when
> 
> Best,
> Robin
> 
> 
> lemon wrote
> &gt; 请教各位:
> &gt; 我有一个sql任务需要进行count,在count中有一个表达式,只想count符合条件的记录,
> &gt; 之前在hive中是这么写的:count(if(name like '南京%',1 , null)),但是flink
> &gt; sql中count不能为null,有什么别的方法能实现该功能吗?
> &gt; 使用的是flink1.10.1 blink
> &gt; &amp;nbsp;
> 
> 
> 
> 
> 
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/





--
Sent from: http://apache-flink.147419.n8.nabble.com/

回复: flink sql count问题

Posted by lemon <z_...@foxmail.com>.
感谢各位的回答,各位的方法我都试了一下,但是都会在下游输出一条结果,一条不符合条件的语句count会在下游输出0
我理解是flink中的count对于每一条数据都会输出一条结果,所以只能把if中的判断条件再放到最后的where中进行过滤
类似于 select&nbsp;count(if(name like '南京%',1 , null)) where name like&nbsp;'南京%'&nbsp; or name like&nbsp;'杭州%'&nbsp; group by ** 这样


------------------&nbsp;原始邮件&nbsp;------------------
发件人:                                                                                                                        "user-zh"                                                                                    <vincent2015qdlg@outlook.com&gt;;
发送时间:&nbsp;2020年9月29日(星期二) 下午5:32
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;Re: flink sql count问题



Hi lemon,
&nbsp;&nbsp;&nbsp; 内部判断if函数可以替换为case when

Best,
Robin


lemon wrote
&gt; 请教各位:
&gt; 我有一个sql任务需要进行count,在count中有一个表达式,只想count符合条件的记录,
&gt; 之前在hive中是这么写的:count(if(name like '南京%',1 , null)),但是flink
&gt; sql中count不能为null,有什么别的方法能实现该功能吗?
&gt; 使用的是flink1.10.1 blink
&gt; &amp;nbsp;





--
Sent from: http://apache-flink.147419.n8.nabble.com/

Re: flink sql count问题

Posted by Robin Zhang <vi...@outlook.com>.
Hi lemon,
    内部判断if函数可以替换为case when

Best,
Robin


lemon wrote
> 请教各位:
> 我有一个sql任务需要进行count,在count中有一个表达式,只想count符合条件的记录,
> 之前在hive中是这么写的:count(if(name like '南京%',1 , null)),但是flink
> sql中count不能为null,有什么别的方法能实现该功能吗?
> 使用的是flink1.10.1 blink
> &nbsp;





--
Sent from: http://apache-flink.147419.n8.nabble.com/

回复:flink sql count问题

Posted by zya <z_...@foxmail.com>.
好的,谢谢




------------------&nbsp;原始邮件&nbsp;------------------
发件人:                                                                                                                        "user-zh"                                                                                    <anonnius@126.com&gt;;
发送时间:&nbsp;2020年9月27日(星期天) 下午5:28
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;Re:回复:flink sql count问题



select count(nullif(if(name not like '南京%', '其他', '南京'), '其他'))

















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

Re: 回复:flink sql count问题

Posted by Benchao Li <li...@apache.org>.
Hi,

试试用这种方式呢:count(1) filter (where name like '南京%')

anonnius <an...@126.com> 于2020年9月27日周日 下午5:29写道:

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


-- 

Best,
Benchao Li

Re:回复:flink sql count问题

Posted by anonnius <an...@126.com>.
select count(nullif(if(name not like '南京%', '其他', '南京'), '其他'))

















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

回复:flink sql count问题

Posted by zya <z_...@foxmail.com>.
你好,链接无法显示,能麻烦再贴下吗


------------------&nbsp;原始邮件&nbsp;------------------
发件人:                                                                                                                        "user-zh"                                                                                    <anonnius@126.com&gt;;
发送时间:&nbsp;2020年9月27日(星期天) 下午5:20
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;Re:回复:flink sql count问题



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

Re:回复:flink sql count问题

Posted by anonnius <an...@126.com>.
hi:<br/>这种方法看下能否满足<br/>select count(nullif(if(name not like '南京%', '其他', '南京'), '其他'))
在 2020-09-27 17:07:39,"zya" <z_...@foxmail.com> 写道:
>貌似只能这样了,感谢回答
>
>
>
>
>------------------&nbsp;原始邮件&nbsp;------------------
>发件人:                                                                                                                        "user-zh"                                                                                    <greemqqran@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_yuang@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; <greemqqran@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_yuang@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;

回复:flink sql count问题

Posted by zya <z_...@foxmail.com>.
貌似只能这样了,感谢回答




------------------&nbsp;原始邮件&nbsp;------------------
发件人:                                                                                                                        "user-zh"                                                                                    <greemqqran@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_yuang@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; <greemqqran@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_yuang@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;

Re:回复:flink sql count问题

Posted by Michael Ran <gr...@163.com>.
你count 也会生成记录啊。 你过滤掉就行   。 比如 having xxx  ,或者加个filter
在 2020-09-27 17:01:06,"zya" <z_...@foxmail.com> 写道:
>这个是我现在的做法,但是的问题就是使用sum会在条件没满足时也会在mysql中生成一条记录
>&nbsp;
>
>
>
>
>------------------&nbsp;原始邮件&nbsp;------------------
>发件人:                                                                                                                        "user-zh"                                                                                    <greemqqran@163.com&gt;;
>发送时间:&nbsp;2020年9月27日(星期天) 下午4:59
>收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;
>
>主题:&nbsp;Re:flink sql count问题
>
>
>
>最好把null 变成0,&nbsp; 你这样&nbsp;&nbsp; sum(if(name like '南京%',1 , 0))
>在 2020-09-27 16:53:56,"zya" <z_yuang@foxmail.com&gt; 写道:
>&gt;请教各位:
>&gt;我有一个sql任务需要进行count,在count中有一个表达式,只想count符合条件的记录,
>&gt;之前在hive中是这么写的:count(if(name like '南京%',1 , null)),但是flink sql中count不能为null,有什么别的方法能实现该功能吗?
>&gt;使用的是flink1.10.1 blink
>&gt;&amp;nbsp;

回复:flink sql count问题

Posted by zya <z_...@foxmail.com>.
这个是我现在的做法,但是的问题就是使用sum会在条件没满足时也会在mysql中生成一条记录
&nbsp;




------------------&nbsp;原始邮件&nbsp;------------------
发件人:                                                                                                                        "user-zh"                                                                                    <greemqqran@163.com&gt;;
发送时间:&nbsp;2020年9月27日(星期天) 下午4:59
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;Re:flink sql count问题



最好把null 变成0,&nbsp; 你这样&nbsp;&nbsp; sum(if(name like '南京%',1 , 0))
在 2020-09-27 16:53:56,"zya" <z_yuang@foxmail.com&gt; 写道:
&gt;请教各位:
&gt;我有一个sql任务需要进行count,在count中有一个表达式,只想count符合条件的记录,
&gt;之前在hive中是这么写的:count(if(name like '南京%',1 , null)),但是flink sql中count不能为null,有什么别的方法能实现该功能吗?
&gt;使用的是flink1.10.1 blink
&gt;&amp;nbsp;

Re:flink sql count问题

Posted by Michael Ran <gr...@163.com>.
最好把null 变成0,  你这样   sum(if(name like '南京%',1 , 0))
在 2020-09-27 16:53:56,"zya" <z_...@foxmail.com> 写道:
>请教各位:
>我有一个sql任务需要进行count,在count中有一个表达式,只想count符合条件的记录,
>之前在hive中是这么写的:count(if(name like '南京%',1 , null)),但是flink sql中count不能为null,有什么别的方法能实现该功能吗?
>使用的是flink1.10.1 blink
>&nbsp;