表结构
CREATE TABLE user
(
id
int(11) NOT NULL AUTO_INCREMENT COMMENT ’ ',
name
varchar(255) DEFAULT NULL,
age
int(11) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=latin1;
表数据
需求:去除id为30的数据
sql:
DELETE
FROM
USER
WHERE
id NOT IN (
SELECT
x.maxid
FROM
( SELECT MAX( id ) maxid FROM USER GROUP BY NAME HAVING COUNT( id ) > 1 ) AS x
)
AND NAME IN ( SELECT xx.NAME FROM ( SELECT NAME FROM USER GROUP BY NAME HAVING COUNT( id ) > 1 ) AS xx );
结果: