将一行结果集与剩余的all进行比较并查找重复项

时间:2016-08-17 12:44:07

标签: java mysql jdbc

我正在尝试从结果集中查找重复的行。我在结果集中有一个大数据,这是从结果集中查找重复项的最佳方法?我也尝试过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);
} 

我想将一行与剩余的行进行比较,并从列表中找到重复的行。

1 个答案:

答案 0 :(得分:0)

如果您对查询中的记录进行排序(可能是ORDER BY ...),那么您只需要将每条记录与其后续记录进行比较。