php - 删除所有重复的mysql?

标签 php mysql select duplicates

我想删除具有相同 badge_id 的重复行,我们检查 user_id :

例如,具有以下数据:

id  user_id   badge_id   badge_slot
1   2         ACH_1           0
2   1         ACH_1           0
3   1         ACH_1           0
4   1         AAAAA           0

如何删除??

最佳答案

如果你想保留具有最低 id 的记录,你可以使用 min()

delete from your_table
where id not in
(
   select * from 
   (
     select min(id)
     from your_table
     group by user_id, badge_id
   ) x
)

而在 MySQL 中,您会遇到无法从要删除的同一个表中进行选择的问题。但是您可以通过子选择来克服这个问题。

关于php - 删除所有重复的mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15568802/

相关文章:

php - 升级到 Mysql5 和 PHP 5.2 后 mysql_query 停止工作

mysql - on 子句中的未知列 - 从 SQL 转换为 HQL 的查询中

mysql - 如何替换 SELECT 查询中重复记录的列?

MySQL 选择 : WHERE (time now) = BETWEEN tablevalue AND tablevalue

php - mySQL 查询——多个可能的特定值

php - grep with -f 就像在 PHP 中一样

php - mysql/php - 在 while 语句中合并来自 mysql 输出的多个数组

php - 对结果集中的每 5 条记录调用一个函数

javascript - Chrome 中的选择框位置问题

php - 有没有办法直接从 cPanel 文件管理器中的 URL 上传文件