- 积分
- 84
- UID
- 17306
- 阅读权限
- 20
- 注册时间
- 2015-1-2
- 精华
- 在线时间
- 小时
- 最后登录
- 1970-1-1
- 职业
- 1
|
服务器提供商更新mysql到Version: 5.5.32后发现运行代码后会产生很多重复数据
SELECT calllists.*
FROM calllists INNER JOIN
(SELECT calltime, number, unittime, duration FROM calllists GROUP BY calltime, number, duration, unittime
HAVING COUNT(*)>1) B
ON calllists.calltime = B.calltime
AND calllists.number = B.number
AND calllists.unittime = B.unittime
AND calllists.duration = B.duration
可以列出所有的重复数据,
但是用网上找到的例子写的语句删除,总是提示#1093 - You can't specify target table 'calllists' for update in FROM clause
DELETE FROM calllists
WHERE id IN (SELECT id FROM calllists GROUP BY calltime, number, duration, unittime HAVING COUNT(*)>1)
AND id NOT IN (SELECT MIN(id)FROM calllists GROUP BY calltime, number, duration, unittime HAVING COUNT(*)>1)
正确的语句是什么? |
|