大家flink sql 选择 group-offset 新的group 会报错吗?
在使用 Flink SQL 中的 GROUP BY 语句时,如果选择的分组字段是一个 offset 类型的字段(例如 GROUP BY ROW_NUMBER() OVER (...)),可能会出现错误。这是因为 offset 类型的字段表示的是行号,不能用于分组。
为了避免这种情况,你可以在使用 GROUP BY 语句时使用其他字段作为分组条件。例如,如果你想对每个用户的记录进行分组统计,可以这样做:
SELECT user_id, COUNT(*) FROM my_table GROUP BY user_id 如果你想使用多个字段作为分组条件,可以这样做:
SELECT user_id, date, COUNT(*) FROM my_table GROUP BY user_id, date 如果你想在使用分组的同时获取每行的行号,可以使用如下 SQL 语句:
SELECT user_id, date, ROW_NUMBER() OVER (PARTITION BY user_id, date ORDER BY timestamp) AS row_number, COUNT(*) FROM my_table 这样,你就可以在分组的同时获取每行的行号,而不会报错。
希望这些信息能帮助你解决问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。