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