博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

CcdD

微风涌起旧梦,拾起一片恍如叶落,过季的华叶虽美丽,徒奈亦夹进记忆的扉页。
敉平谬葛思如故。旧情怀,消不尽,几时休。
  aixcq.cublog.cn

关于作者
姓名:痴痴地等
职业:跳蚤守望者
年龄:31
位置:金刚塔下地狱十字架
个性介绍:不够成熟理智,不够积极优雅,希望能够觉悟人生,奉献人生,善用其心,善待一切,感恩包容,分享结缘。“真诚、清净、平等、正觉、慈悲”,“看破、放下、自由、随缘、念佛”要用这种心对人、对事、对天地万物!

佛看我们迷惑颠倒,他以种种方便来诱导我们、开启我们,希望我们豁然觉悟,又恢复到本觉,这就是佛度众生。《金刚经》上很坦率地告诉我们,佛不度众生,众生怎么度的?自己度自己。


背景音乐:暂停

|| << >> ||
我的分类


几个删除重复记录的SQL语句


 
 
在大的数据库应用中,经常因为各种原因遇到重复的记录,造成数据的冗余和维护上的不便。

1.用rowid方法

2.用group by方法

3.用distinct方法

 

1。用rowid方法

据据oracle带的rowid属性,进行判断,是否存在重复,语句如下:
查数据:
    select * from table1 a where rowid !=(select  max(rowid) 
    from table1 b where a.name1=b.name1 and a.name2=b.name2......)
删数据:
   delete  from table1 a where rowid !=(select  max(rowid) 
    from table1 b where a.name1=b.name1 and a.name2=b.name2......)

2.group by方法

查数据:
  select count(num), max(name) from student --列出重复的记录数,并列出他的name属性
  group by num
  having count(num) >1 --按num分组后找出表中num列重复,即出现次数大于一次
删数据:
  delete from student
  group by num
  having count(num) >1
  这样的话就把所有重复的都删除了。

3.用distinct方法 -对于小的表比较有用

create table table_new as  select distinct *  from table1 minux
truncate table table1;
insert into table1 select * from table_new;

 原文地址 http://chinaunix.com
发表于: 2006-06-21,修改于: 2006-06-21 13:36,已浏览587次,有评论0条 推荐 投诉


网友评论
 发表评论