如何重复删除&获得第一次出现的行?

时间:2014-09-10 21:14:05

标签: ssis

我的数据流有以下两列:

PK  time
-----------------
2   03:40:01
2   08:21:59
4   08:21:59
4   10:03:12
4   11:20:12
4   12:45:04

现在我想使用PK列对行进行重复数据删除,并且每个PK需要首次出现(使用先前排序的时间列)。所以在这种情况下,我需要:

PK  time
-----------------
2   03:40:01
4   08:21:59

如何在不写入外部登台/中间表的情况下实现此目的?我需要一些东西给我MIN(time)行与唯一的PK。

当我使用带有PK列的排序转换时,使用排序类型降序,它只给出了第一个PK行的第一次出现。对于输出中的所有后续PK行,时间列的值是随机的。

2 个答案:

答案 0 :(得分:0)

这是Todd McDermid关于如何在不写入外部表的情况下实现重复的blog post。 3种情景中的一种应该对您有所帮助。 另外,为什么你不想在桌面上完成这项工作。它更快,更容易管理。

答案 1 :(得分:0)

以下是重定向duplicates的脚本组件示例。如果您的源是数据库表,您也可以尝试使用row_number