如何从列表中检索特定数据的下一个和上一个重复数据?

时间:2013-09-10 13:05:03

标签: java

我有一个名为duplicateDataLst的列表,我在我的java代码中从SQL查询获得,我的数据库表包含所有重复数据及其数量。

现在我想要检索与DB表中特定数据重复的数据。 我试过的是

for(int i=0; i<duplicateDataLst .size(); i++)
{
  Object obj[] = (Object[]) duplicateDataLst.get(i);

      Long  id= (Long) obj[0]; 
      .
      .
      Long count= (Long) obj[12]; 
//Similarly other fields

 if(count>1)
{
  for(int j=i+1;j<(i+count), j++)
  {
    Object obj1[] = (Object[]) duplicateDataLst.get(j);
      Long  id1= (Long) obj1[0]; 
      .
      .
      Long count1= (Long) obj1[12];
  }
}
}

这样我就会得到重复数据,这些数据按sql查询分组。但我的问题是我只在数据旁边获取重复数据,而不是以前的数据。例如,如果在特定的表1-a,2-a,3-a,4-a,5-b,6-b中,当我转到2-ai时,我得到3-a,4-a作为重复数据但是我也想要1-a,我没有考虑。请提供一个解决方案...非常多

1 个答案:

答案 0 :(得分:1)

你可以让你的SQL查询只获得重复,你不必在Javascript中处理这个问题,SQL是为这样的东西构建的。

示例查询(不知道您的表设计):

SELECT FieldData, COUNT(*) FROM Table GROUP BY FieldData HAVING COUNT(*) > 1

这只会让您获得重复的行以及重复的次数。