在talend和java中查找重复记录的数量

时间:2015-10-25 13:54:23

标签: java postgresql count duplicates talend

我在postgresql中有一个表,列中有重复的数字。我在这里使用Tpostgresqlinput和一个查询:

select number , count(1) from abc.xyz having count(1)>1 group by number

在此组件之后,我使用tFlowToIterate然后使用Tjavaflex。在tJavaflex中,我正在使用

Startcode as:

int count = 0; count++;

主要代码为:

if (count>1) 
("row1.serial_number",row1.serial_number)
    System.out.println(row1.serial_number);
else
    System.out.println("Duplicates are not found");

但是我得到了else部分的输出,因为找不到重复项。
如果序列号超过0,如何找到计数和名称?
理想情况下,序列号应该是唯一的,但数据中有重复的序列号。所以我只想找到重复的序列号及其计数,只要它大于1作为输出。 预期的输出应该是:如果有重复,即如果序列号的数量大于1,那么它应该向用户发送邮件通知,这些序列号的计数大于1,即序列号和计数号。 / p>

1 个答案:

答案 0 :(得分:0)

在你的开始代码中,你初始化为0并递增1,这导致count = 1.这个值永远不会改变,因此你总是得到你的if的其他部分。

您实际想要做的是使用输入中的计数。要完成此任务,请使用带有:

的tJavaRow
if(input_row.count > 1)
  System.out.println(input_row.serial_number);
else
  System.out.println("Duplicates are not found");