如何在postgres中找到重复的行?

时间:2017-07-06 23:03:09

标签: postgresql

我觉得几个星期前我问了一个关于在一个数据集中计算相同行的问题。这是我收到的答案:

select count(*), a_dttm, b_dttm, c_dttm 
from data 
group by a_ddtm, b_dttm, c_dttm;

我知道这个其他数据集中有重复项,而且它们会弄乱我的数量。截至目前,我知道多次使用id,但并不一定意味着这些行是重复的。

select id, count(*) as count
from (
select *
from data
where date >= '2016-01-01' and date <= '2016-12-31'
) as a
group by id
having count(*) >= 2
order by count desc

我的问题是如何在数据集中选择完全相同的所有行?我会为每列编写子查询还是选择*?

1 个答案:

答案 0 :(得分:0)

如果我找到一个在脚本上找到重复值的解决方案,我会进行计数(*)并按功能分组以计算重复数。这是你以前得到的答案。

要回答您的问题,我建议您添加“约会”日期&#39;在您的分组上选择,因为它是&#34;唯一性的指标&#34;对于您需要使用的领域。

我只是会找到或创建一个&#34;主要索引&#34;确保使用的所有数据都是唯一的。

然而,如果你不想弄乱你的数字,我通常使用DISTINCT作为一个简单的方法删除该表上的重复项。见下面的参考: http://www.postgresqltutorial.com/postgresql-select-distinct/