我的数据库看起来像:
Incremental_ID | First Name | Last Name | Email | Data1 | Data2 | Concat
此数据库包含大约200,000个客户的一百万条记录,这些记录已从各种其他数据库汇总在一起,因此一条记录可能有Data1
而另一条记录可能没有Data1
,而是Data2
。为了找到重复项,我创建了记录Concat
,其中包含在每个文件(名字,姓氏,电子邮件)中找到的所有客户数据,以便为每个客户提供唯一值。
除非已经返回concat
值,否则如何告诉postgresql返回每一行?
答案 0 :(得分:0)
我认为你可以用distinct on
:
select distinct on (concat) t.*
from table t
order by concat, incremental_id;
这将根据incremental_id
返回每个“concat”的第一行。