我有一个包含半复制行的表(由于像素错误,多次通过alooma发送信息)。我的目标是重复数据删除此表,然后根据重复数据删除创建一个视图。
表结构示例;
Col1 Col2 Col3 Col4
x y z w
x y z p
x y z z
除了col4之外,所有行都是相同的。我没有能力修复重复/ alooma问题,所以我们需要一个只能为每个重复返回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”值是“随机”选择的。