mysql - 删除重复数据mysql
问题描述
如果我们使用,我们在哪里有重复的 id
SELECT MAX(id), COUNT(id) AS count
FROM user_status
GROUP BY user_id, user_type
HAVING COUNT(*) > 1
我们得到重复的数据
现在,当我尝试通过删除将其插入时
DELETE
FROM user_status
WHERE id IN (SELECT MAX(id), COUNT(id) AS count
FROM user_status
GROUP BY user_id, user_type
HAVING COUNT(*) > 1
)
我收到以下错误
Operand should contain 1 column
我怎样才能解决这个问题 ?TIA
解决方案
subquery
由于消息很清楚,您正在选择不允许 inIN
子句中的两列,但仍然mysql
在查询的 from 中显示一些错误,所以请用下面的 join 替换查询
DELETE us
FROM user_status us
INNER JOIN (SELECT MAX(id) id
FROM user_status
GROUP BY user_id, user_type HAVING COUNT(*) > 1) t ON t.id = us.id
推荐阅读
- python - 无法使用 PySimpleGUI 建表
- windows-10 - Tomcat 9 从 iis 10 重定向
- python - 我怎样才能扭转这个三角形?目的是做一个菱形
- python - 我正在用python编写单元测试。导入模块时出现此错误
- typescript - 从多种类型中创建一个对象类型
- c - sigaction未初始化gcc 7
- reactjs - 如何获取格式化文本draft-js
- python - how to inherit __init__ attributes from parent class to __init__ in the child class?
- angularjs - DevExpress - 如果另一个单元格具有值,如何禁用一个单元格的编辑
- android - 错误代码 413:您的客户端发出的请求在 WEB VIEW 中太大