[java] Apache Derby를 사용하여 데이터베이스에서 중복 데이터를 제거하는 방법은 무엇인가요?

다음은 Apache Derby에서 중복 데이터를 제거하는 방법을 보여주는 Java 코드입니다.

import java.sql.*;

public class RemoveDuplicates {
    public static void main(String[] args) {
        try {
            // Derby 데이터베이스에 연결
            String url = "jdbc:derby:/path/to/your/database";
            Connection conn = DriverManager.getConnection(url);

            // 중복을 제거할 테이블과 열 지정
            String tableName = "your_table";
            String columnName = "your_column";

            // 중복 데이터를 제거하는 쿼리 실행
            String query = "DELETE FROM " + tableName + " WHERE ROWID NOT IN (SELECT MIN(ROWID) FROM " + tableName + " GROUP BY " + columnName + ")";
            Statement stmt = conn.createStatement();
            int rowsDeleted = stmt.executeUpdate(query);

            // 결과 출력
            System.out.println(rowsDeleted + " rows deleted.");

            // 연결 종료
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서는 “your_table”과 “your_column”을 자신이 작업하고 있는 테이블과 열로 바꾸어야 합니다. 이 코드는 주어진 테이블의 중복 데이터를 제거하고 제거된 행의 수를 출력합니다.

다른 방법으로는 “SELECT DISTINCT” 문을 사용하여 중복을 제거하는 것이 있습니다. 이 방법은 중복 제거된 결과를 반환하는 SELECT 문을 직접 작성하는 것입니다.

중복 데이터를 제거하는 방법에는 다양한 접근 방식이 있을 수 있으므로 상황에 맞게 가장 효율적인 방법을 선택할 수 있습니다.

참고 자료: