delete
FROM vtiger_accountscf a
WHERE (
a.cf_466
)
IN (SELECT `cf_466`
FROM vtiger_accountscf
GROUP BY `cf_466`
HAVING count( * ) >1
)
AND id NOT
IN (SELECT min( id )
FROM vtiger_accountscf
GROUP BY `cf_466`
HAVING count( * ) >1
)
删除重复记录但是显示的是MySQL 返回:
[code]
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE (
a.cf_466
)
IN (SELECT `cf_466`
FROM vtiger_accountscf
GROUP BY' at line 3 [/code]这是为什么呢?
FROM vtiger_accountscf a
WHERE (
a.cf_466
)
IN (SELECT `cf_466`
FROM vtiger_accountscf
GROUP BY `cf_466`
HAVING count( * ) >1
)
AND id NOT
IN (SELECT min( id )
FROM vtiger_accountscf
GROUP BY `cf_466`
HAVING count( * ) >1
)
删除重复记录但是显示的是MySQL 返回:
[code]
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE (
a.cf_466
)
IN (SELECT `cf_466`
FROM vtiger_accountscf
GROUP BY' at line 3 [/code]这是为什么呢?
delete from vtiger_accountscf a where not exists (select 1 from vtiger_accountscf
b where b.cf_466=a.cf_466 and b.id<a.id)
FROM vtiger_accountscf
GROUP BY `cf_466`
HAVING count( * ) >1
)
AND id NOT
IN (SELECT min( id )
FROM vtiger_accountscf
GROUP BY `cf_466`
HAVING count( * ) >1
)
是不是这两个分组没对应
加个wher group1.cf_466=group2.cf_466
select cf_466,min(id) as minID from vtiger_accountscf GROUP BY `cf_466`
) b on a.cf_466=b.cf_466 and a.id=b.minid
where b.cf_466 is null