黑马程序员技术交流社区

标题: 求教一个SQL问题.... [打印本页]

作者: 陈家辉    时间: 2013-8-14 19:13
标题: 求教一个SQL问题....
本帖最后由 陈家辉 于 2013-8-17 23:57 编辑

id      姓名      年龄
1      张三        30
2      李四        40
3      张三        30
4      张三        30


要求一条SQL语句删除重复的数据
谢谢各位大虾吖

作者: 念念念念_、    时间: 2013-8-14 20:59
delete * from 表名
where Id in (select Id from
group by Id having count(Id) > 1)
试试看
作者: 高文咪    时间: 2013-8-14 21:55
针对sql server 数据库的sql语句:
  1. delete from 表名 where id in (select id from 表名 where 姓名 in(select 姓名 from 表名 group by 姓名 having count(姓名)>1)
  2. and id not in ( select min(id) from 表名 where 姓名 in(select 姓名 from   表名   group by 姓名
  3. having count(姓名)>1)))
复制代码
如果要是oracle数据库库重复数据删除的话,你可以把后面的
select min(id) from 表名 where 姓名 in(select 姓名 from  表名 group by 姓名
having count(姓名)>1)中的的min(id)换成min(rowid)或者max(rowid)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2