Java实现mysql数据去重

1.分析需求

因为一般,mysql建表的时候都是有单调递增id的,所以去重需求可以以这个id为着重点。假设我们对以下这张测试表操作

这个时候是不是就有思路了?我们可以通过max(id)加group by的形式来进行去重以下是具体代码实现。

2.代码实现

public class Test {
	public static void main(String[] args) throws Exception {
        //1.注册驱动
		Class.forName("com.mysql.cj.jdbc.Driver");
        //table_name写你的表名
		String url = "jdbc:mysql://localhost:3306/table_name";
		String username = "your_username";
		String password = "your_password";
        //2.建立连接
		Connection connection = DriverManager.getConnection(url, username, password);
        //字段的话请灵活修改。
		String sql = "DELETE FROM table_name where id not in (SELECT id from (SELECT max(id) as id FROM test GROUP BY name,age)t1)";
        //创建执行环境
		Statement statement = connection.createStatement();
		statement.execute(sql);
		statement.close();
		connection.close();
	}
}

 就是jdbc那一套,不要忘了导入连接mysql的jar包。实现是不是非常简单呢。SELECT id那块套了个子查询的原因是因为不套会报错~希望可以帮助大家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值