去重语句
可以通过多种方式实现去重需求,例如FIRST_VALUE、LAST_VALUE和DISTINCT等。本文介绍如何使用TopN方法实现去重,以及使用过程中的注意事项。
去重的方案通常有两种:
- 保留第一条。
- 保留最后一条。
说明 ORDER BY后的时间属性字段必须在源表中定义。
语法
由于SQL没有直接去重的语法,因此我们使用SQL的ROW_NUMBER OVER WINDOW功能实现去重。ROW_NUMBER OVER WINDOW与TopN语句方法类似,可以理解为一种特殊的TopN。
SELECT *
FROM (
SELECT *,
ROW_NUMBER() OVER ([PARTITION BY col1[, col2..]
ORDER BY timeAttributeCol [