分类：电脑/网络-程序设计
问题：怎么删除SQL中重复的记录?1.有一个表(两个字段,AA,BB)? 
怎么删除中重复的记录?1.有一个表(两个字段,AA,BB)我想删除字段AA中有重复的记录(但是要保留下来一条,不要全删)...... 2.两个表(A表中有AA字段,B表中也有AA字段我想在A表中删除B表中存在的记录) 3.怎么在SQL中把查询出来的记录单独创建个表并且放进去(比如说查出10条记录要放在一个新建的表里.) 4.怎么在一个字段的数据中取其数据的前三位,如:电话号码 取前 三位数字(229). 本人对SQL不是很懂``所以希望知道的大虾们``帮帮忙咯``不甚感激~ 
回答：尝试回答ＬＺ的问题，仅供参考：１、对于这种要求，必须保证表中有主键或者索引，或者某列数据不能重复。只有这样，才可能使用一句SQL来实现。否则只能考虑其它办法。下面的语句，假定BB列是不重复的，删除后保存BB列值最大的那条记录。delete from 表 where aa in (select aa from 表 group by aa having count(aa) > 1) and bb not in (select max(bb) from 表 group by aa having count(aa) > 1); ２、有多种写法：delete A from B where A.AA = B.AAdelete A from A,B where A.AA = B.AAdelete A where AA in (select AA from B)3、使用into关键字：select * into 新表名 from 原表4、取数据前3位，字段必须是类似char类型，使用类似substring这样的函数（SYBASE是substring，ORACLE是substr）：select substring(字段,1,3) from 表名