从具有重复行的表创建视图

时间:2016-09-16 17:57:40

标签: postgresql view amazon-redshift

我有一个包含半复制行的表(由于像素错误,多次通过alooma发送信息)。我的目标是重复数据删除此表,然后根据重复数据删除创建一个视图。

表结构示例;

    Col1   Col2   Col3    Col4
    x      y      z       w
    x      y      z       p
    x      y      z       z

除了col4之外,所有行都是相同的。我没有能力修复重复/ alooma问题,所以我们需要一个只能为每个重复返回1行的视图。

1 个答案:

答案 0 :(得分:0)

如果col4没有意义,你可以使用DISTINCT并只选择相关的列:

SELECT DISTINCT col1, col2, col3 FROM your_table

对于您的示例数据,这将返回一行x,y,z。

如果您不关心col4值,但由于某种原因想要包含该列,这里是根据其他相关列只获得不同行的一种非常简单的方法:

SELECT DISTINCT ON (col1, col2, col3) * FROM your_table

对于您的示例数据,这将返回x,y,z,p的一行。 “p”值是“随机”选择的。