免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2167 | 回复: 5

关于distinct或者别的?(已解决) [复制链接]

论坛徽章:
0
发表于 2008-04-07 16:31 |显示全部楼层
table: employee_info

country         age         name         post
---------------------------------------------------------
China            23          Smonkey     software-engineer
USA               25          Joycean       hardware-engineer
USA               23          Joycean       IT-guy
France           24          Hai.Shang   IT-guy
China            25          Smonkey      DBA

想查唯一名字的列,如果名字相同取年龄小的。用的是oracle 10g
如上面的所列,想得到的结果是:

country         age         name          post
---------------------------------------------------------
China            23          Smonkey      software-engineer
USA               23          Joycean       IT-guy
France           24          Hai.Shang   IT-guy

请高手帮帮忙,写句select

[ 本帖最后由 smonkey0 于 2008-4-8 13:24 编辑 ]

论坛徽章:
0
发表于 2008-04-07 17:16 |显示全部楼层
关注中

论坛徽章:
0
发表于 2008-04-07 18:00 |显示全部楼层

回复 #1 smonkey0 的帖子

方法一
select * from
table-name v
where (name,age)
in (select name,min(age) from table-name
group by name)

[ 本帖最后由 xieyizhi 于 2008-4-7 18:05 编辑 ]

论坛徽章:
0
发表于 2008-04-08 10:34 |显示全部楼层

回复 #3 xieyizhi 的帖子

谢谢xieyizhi, 已经能解决大部分问题,但是遇到年龄一致的时候,我想选择先遇到的那个,能实现吗?
country         age         name         post
---------------------------------------------------------
China            23          Smonkey     software-engineer
USA               23          Joycean       hardware-engineer
USA               23          Joycean       IT-guy
France           24          Hai.Shang   IT-guy
China            25          Smonkey      DBA

想查唯一名字的列,如果名字相同取年龄小的。年龄相同取先碰到的那个,如上面的所列,想得到的结果是:

country         age         name          post
---------------------------------------------------------
China            23          Smonkey     software-engineer
USA               23          Joycean       hardware-engineer
France           24          Hai.Shang   IT-guy

论坛徽章:
0
发表于 2008-04-08 12:43 |显示全部楼层

回复 #4 smonkey0 的帖子

(name,age,rowid)
in (select name,min(age),min(rowid) from table-name
group by name)

论坛徽章:
0
发表于 2008-04-08 13:21 |显示全部楼层

回复 #5 xieyizhi 的帖子

非常感谢~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP