Apache Flink:如何删除选择查询中的重复项?

时间:2018-03-01 11:40:52

标签: sql apache-flink flink-sql

如何使用Apache fFlink删除SELECT查询中的重复项?

我的表是: enter image description here

我希望删除ID中的重复项以保持范围内的最大值

1 个答案:

答案 0 :(得分:1)

假设查询是在静态数据集上运行的,可以使用常规SQL来解决。由于Flink实现了标准SQL,因此该查询不是特定于Flink的,而是可以在任何关系数据库系统上运行。

SELECT DISTINCT t.id, t.name, t.range 
  FROM t, (SELECT id, MAX(range) AS maxRange FROM t GROUP BY id) s
  WHERE t.id = s.id AND t.range = s.maxRange

请注意,如果有一个ID超出最多范围的行,则会丢失重复项。