各位大佬: 我看文档上建议使用的去重方式是用窗口函数 <https://ci.apache.org/projects/flink/flink-docs-master/dev/table/sql/queries.html#deduplication>
SELECT [column_list]FROM (
SELECT [column_list],
ROW_NUMBER() OVER ([PARTITION BY col1[, col2...]]
ORDER BY col1 [asc|desc][, col2 [asc|desc]...]) AS rownum
FROM table_name)WHERE rownum <= N [AND conditions]
但是我看 Flink SQL 里还有个 first_value, laste_value,也能实现同样的目标。
请问这两者有什么区别吗,尤其是在 watermark 以及状态管理上?
