--实验前准备
CREATE TABLE ljtest(
coa varchar(10) NOT NULL,
cob varchar(10) NOT NULL,
cod varchar(10) NOT NULL)
ENGINE=MyISAM DEFAULT CHARSET=utf8;
--插入下列有重复的数据
INSERT INTO `ljtest` (`coa`, `cob`, `cod`) VALUES
('0009', 'B020282', '政治经济学(财经类)'),
('0015', 'B050311', '英语(二)'),
('0015', 'B020180', '英语(二)'),
('0015', 'B100705', '英语(二)'),
('0015', 'B020282', '英语(二)'),
('0015', 'B081311', '英语(二)'),
('0015', 'B020230', '英语(二)'),
('0015', 'C020120', '英语(二)'),
('0015', 'B050443', '英语(二)'),
('0018', 'A081310', '计算机应用基础'),
('0018', 'B100705', '计算机应用基础'),
('0018', 'A050316', '计算机应用基础'),
('0018', 'B050443', '计算机应用基础'),
('0018', 'A100704', '计算机应用基础'),
('0018', 'A020179', '计算机应用基础'),
('0018', 'A020163', '计算机应用基础'),
('0019', 'A050316', '计算机应用基础(实践)'),
('0019', 'B050443', '计算机应用基础(实践)'),
('0019', 'A020179', '计算机应用基础(实践)'),
('0019', 'A081310', '计算机应用基础(实践)'),
('0019', 'B100705', '计算机应用基础(实践)'),
('0019', 'A100704', '计算机应用基础(实践)'),
('0031', 'A040109', '心理学'),
('0034', 'B020230', '社会学概论'),
('0040', 'A020179', '法学概论'),
('0040', 'B020230', '法学概论'),
('0054', 'A020179', '管理学原理'),
('0086', 'C020120', '风险管理'),
('0147', 'B020230', '人力资源管理(一)'),
('0157', 'C020120', '管理会计(一)');
OK,步骤一:
alter table ljtest add id int auto_increment first,add primary key(id); |
步骤二:
delete from ljtest where id not in (select max(id) from ljtest group by coa having count(coa)>1);
//呵呵,想一步到位在MySQL是不行的,我的环境是MySQL 5.4。于是用以下方法:
delete a from ljtest as a, //多表删除指定表。 |