Flink CDC中select a,b,c,d from xxx group by a,b
这时候会提示c和d的is not being grouped,这种情况怎么搞呢?
在Flink CDC中,如果需要对某些列进行聚合操作,可以使用GROUP BY
子句。但是,如果某个列没有被包含在GROUP BY
子句中,那么这个列将不会被聚合。
在你提供的例子中,你尝试使用以下SQL语句:
SELECT a, b, c, d FROM xxx GROUP BY a, b
这里,你试图对c
和d
列进行分组,但是没有将它们包含在GROUP BY
子句中。因此,Flink CDC会提示c
和d
的is not being grouped
。
要解决这个问题,你需要将c
和d
列添加到GROUP BY
子句中。修改后的SQL语句如下:
SELECT a, b, c, d FROM xxx GROUP BY a, b, c, d
这样,Flink CDC就可以正确地对a
、b
、c
和d
列进行分组了。
这种应该是sql 语法本身的约定,按照a和b group by,c和d必然无法输出了。只能算出来c 和d 聚合的结果 ,此回答整理自钉群“Flink CDC 社区”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。