ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!
ITPUB论坛 » Oracle开发 » 求SQL语句,越简单越好

标题: [SQL] 求SQL语句,越简单越好
离线 congruilan
酒鬼


精华贴数 0
个人空间 0
技术积分 255 (7624)
社区积分 3 (22094)
注册日期 2007-2-2
论坛徽章:0
      
      

发表于 2008-7-5 15:12 
求SQL语句,越简单越好

有一个张员工工资表(SALARY),表有三列:员工编号(ID),姓名(NAME),工资(SALARY)
1.查询id重复记录
2.删除id重复记录,只保留第一条(说明,不需要考虑表中存在完全相同纪录的情况)


__________________
一切都是为了酒.......
All for a better future!

http://congruilan.itpub.net/
只看该作者    顶部
离线 zhangfengh
老狐狸


精华贴数 3
个人空间 0
技术积分 13036 (87)
社区积分 5821 (260)
注册日期 2002-10-12
论坛徽章:89
现任管理团队成员2008北京奥运纪念徽章:自行车    
      

发表于 2008-7-5 15:18 
家庭作业?


__________________
=======================================
狐狸在这个世界上是凭借聪明而得到生存的,并且在这个世界上占有一席之地,学习狐狸的聪明,少走弯路。
=======================================
吸收别人的经验,使之成为自己的经验!
=======================================
只看该作者    顶部
离线 congruilan
酒鬼


精华贴数 0
个人空间 0
技术积分 255 (7624)
社区积分 3 (22094)
注册日期 2007-2-2
论坛徽章:0
      
      

发表于 2008-7-5 15:19 
回复 #1 congruilan 的帖子

知道第一个:
1.
select *
from salary
where ID in
(
select ID
from salary
group by ID
having count(*)>1
)

第二个还没想出来,学习SQL中,
多谢大家指教.


__________________
一切都是为了酒.......
All for a better future!

http://congruilan.itpub.net/
只看该作者    顶部
离线 congruilan
酒鬼


精华贴数 0
个人空间 0
技术积分 255 (7624)
社区积分 3 (22094)
注册日期 2007-2-2
论坛徽章:0
      
      

发表于 2008-7-5 15:21 


QUOTE:
原帖由 zhangfengh 于 2008-7-5 15:18 发表
家庭作业?


学习SQL中,惭愧^


__________________
一切都是为了酒.......
All for a better future!

http://congruilan.itpub.net/
只看该作者    顶部
离线 wuhuaT
勿忘我


来自 勿问我
精华贴数 0
个人空间 0
技术积分 1837 (892)
社区积分 479 (1438)
注册日期 2008-1-14
论坛徽章:9
2008北京奥运纪念徽章:田径2008北京奥运纪念徽章:羽毛球数据库板块每日发贴之星ERP板块每日发贴之星生肖徽章2007版:兔生肖徽章2007版:鸡
生肖徽章2007版:蛇生肖徽章2007版:牛    

发表于 2008-7-5 15:32 
ROW_NUMBER(),MAX()......


__________________
活到老,学到老,玩到老,乐到老
只看该作者    顶部
离线 sunfly1983
初级会员


精华贴数 0
个人空间 0
技术积分 866 (2156)
社区积分 1081 (917)
注册日期 2006-10-14
论坛徽章:11
生肖徽章2007版:猪     
      

发表于 2008-7-5 15:37 
类似的帖子好像还不少:
给一个方案:
delete from salary a where a.rowid >(select min(b.rowid) from salary where a.id=b.id);


只看该作者    顶部
离线 congruilan
酒鬼


精华贴数 0
个人空间 0
技术积分 255 (7624)
社区积分 3 (22094)
注册日期 2007-2-2
论坛徽章:0
      
      

发表于 2008-7-5 16:16 


QUOTE:
原帖由 wuhuaT 于 2008-7-5 15:32 发表
ROW_NUMBER(),MAX()......

老大能不能说明白一点啊


__________________
一切都是为了酒.......
All for a better future!

http://congruilan.itpub.net/
只看该作者    顶部
离线 zhangweicai74
阿财


来自 贵州
精华贴数 3
个人空间 240
技术积分 5712 (231)
社区积分 21782 (58)
注册日期 2007-12-13
论坛徽章:156
授权会员生肖徽章2007版:狗生肖徽章2007版:虎生肖徽章2007版:龙  
      

发表于 2008-7-5 17:28 


QUOTE:
原帖由 congruilan 于 2008-7-5 16:16 发表

老大能不能说明白一点啊

我是最差的,来回答一下简单的问题:
with tab as (select *,row_number() over (partiton by id order by salary) rn from salary)
select id,name,salary from tab where rn=1


__________________
NEVER TOO LATE
想吃贵州家乡菜不?进来嘛,老乡!!
http://space.itpub.net/12391917/viewspace-257185
玩玩双节棍(l_l)

美丽家乡黄果树瀑布
http://space.itpub.net/12391917/viewspace-244134
只看该作者    顶部
离线 andytianyi
中级会员


精华贴数 0
个人空间 0
技术积分 833 (2268)
社区积分 2 (30662)
注册日期 2007-3-28
论坛徽章:1
ITPUB新首页上线纪念徽章     
      

发表于 2008-7-5 17:42 


QUOTE:
原帖由 zhangweicai74 于 2008-7-5 17:28 发表


我是最差的,来回答一下简单的问题:
with tab as (select *,row_number() over (partiton by id order by salary) rn from salary)
select id,name,salary from tab where rn=1

这个只是查询出数据,达不到LZ要求的啊,呵呵,必须要DELETE的


只看该作者    顶部
离线 andytianyi
中级会员


精华贴数 0
个人空间 0
技术积分 833 (2268)
社区积分 2 (30662)
注册日期 2007-3-28
论坛徽章:1
ITPUB新首页上线纪念徽章     
      

发表于 2008-7-5 17:43 
同6楼。。。。。。。


只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问