sql - 如何使用 SQL 删除重复的行?

标签 sql

我有一个包含一些行的表。每一行都有一个日期字段。现在,它可能是日期的重复项。我需要删除所有重复项,只存储最高 id 的行.这怎么可能使用 SQL 查询?

现在:

date      id
'07/07'   1
'07/07'   2
'07/07'   3
'07/05'   4
'07/05'   5

我想要的是:
date      id
'07/07'   3
'07/05'   5

最佳答案

DELETE FROM table WHERE id NOT IN
    (SELECT MAX(id) FROM table GROUP BY date);

关于sql - 如何使用 SQL 删除重复的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1173963/

相关文章:

java - 如何将json解析到数据库?

sql - 仅从 sql 中的 Datetime 字段更新时间

mysql - 更新包含 ID 的 mySQL 行

mysql - SQL:选择特定列上唯一的行

mysql - MYSQL中如何获取身份证?

mysql - 计算员工上个月在工作场所花费的每天平均小时数

java - ResultSet.getArray(colName) 可以返回 null 吗?

mysql - DATE 字段上的 INDEX 和 MONTH() YEAR() 函数

java - 防止表单生成的 SQL 注入(inject) SQL - NO PreparedStmts

使用分号和撇号的 SQL 崩溃