Java 将结果集的一行与其余所有行进行比较,并查找重复项

Java 将结果集的一行与其余所有行进行比较,并查找重复项,java,mysql,jdbc,Java,Mysql,Jdbc,我试图从我的结果集中找到重复的行。我在resultset中有大量数据,从resultset中查找重复数据的最佳方法是什么?我也尝试过arraylist List inner=new ArrayList<String>(); Connection con; Statement stmt; ResultSet rs; ResultSetMetaData rsmd; int columnNumber; try{ Class.forName("com.mysql.jdbc.Driv

我试图从我的结果集中找到重复的行。我在resultset中有大量数据,从resultset中查找重复数据的最佳方法是什么?我也尝试过arraylist

List inner=new ArrayList<String>();
Connection con;
Statement stmt;
ResultSet rs;
ResultSetMetaData rsmd;
int columnNumber;

try{
    Class.forName("com.mysql.jdbc.Driver");
    con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb","root","");
    stmt=con.createStatement();
    rs=stmt.executeQuery("select * from mydata_table where srno<1000");
    rsmd=rs.getMetaData();
    columnNumber=rsmd.getColumnCount();
    while(rs.next()){

        for(int i=1;i<columnNumber;i++){
            inner.add(rs.getString(i));
        }

   }           
   System.out.println("\n" + inner);

   rs.close();
   con.close();
}catch(Exception e){
    System.out.println(e);
} 
List-inner=new-ArrayList();
连接con;
报表stmt;
结果集rs;
结果元数据rsmd;
int列数;
试一试{
Class.forName(“com.mysql.jdbc.Driver”);
con=DriverManager.getConnection(“jdbc:mysql://localhost:3306/mydb“,”根“,”);
stmt=con.createStatement();

rs=stmt.executeQuery(“如果您对查询中的记录进行排序,请从mydata_表中选择*,其中srno(可能是
按…排序)。
)然后,您只需要将每个记录与其后续记录进行比较。

那么为什么不在SQL中使用
DISTINCT
子句呢?这将是更干净的解决方案这听起来像是应该使用SQL而不是
结果集来完成的事情。我尝试了DISTINCT子句,但在我的情况下它没有返回唯一的记录。
内部是什么de>在这里?您可以在SQL中完成所有操作请参阅快速入门答案谢谢您的帮助。但是其中有40多列,按哪个列排序?@iks_in-如果您愿意,请全部列出。或者尽可能多地列出这些列,以便于重复检查。例如,如果列1、2和3在大多数记录中通常是唯一的,请按它们进行排序,然后en只向前搜索,而所有搜索都相同。