找出第一个字段相同,可能其它字段不同,但只记录一条这样的记录

TGZ 2006-11-22 11:45:48
现在有表tabel1 包括字段A,B,C

A B C
E001 20 2006/11/7
E001 40 2006/11/20
E002 50
E003 2007/1/1


现在要求的结果是:
A B C
E001 20或40 2006/11/7或2006/11/20
E002 50
E003 2007/1/1


也就是说A的值只出现一次,其它的取作一值都可以
请问这个SQL如何写呢
...全文
168 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jarjarlee 2006-11-27
  • 打赏
  • 举报
回复
根据Eric_1999(╙@^@╜) 改的

select *
from table
where rowid in (select MAX(rowid) from table group by a )

他那个我这里运行不了好像,这个错,ORA-00979: not a GROUP BY expression
所以小改了一下。
vincent4a 2006-11-25
  • 打赏
  • 举报
回复
支持Eric_1999(╙@^@╜) 的
zxbyhcsdn 2006-11-24
  • 打赏
  • 举报
回复
sqlserver里面是这样的

declare @aa varchar(1000)

set @aa = ''

select @aa=@aa+'或'+B from table1

------------------

偶在想的话,Oracle应该也可以这样吧!!
你改成Oracle试一下捏!实在不行就用游标.反正这问题能搞定
kanxue660 2006-11-23
  • 打赏
  • 举报
回复
row_number()over(partition by * order by *)
jdsnhan 2006-11-23
  • 打赏
  • 举报
回复
distinct 就可以了.
select distinct A, B, C from table1;
Eric_1999 2006-11-23
  • 打赏
  • 举报
回复
select *
from table
where rowid in (select rowid from table group by a having rownum = 1)
Visual_Studio_Net 2006-11-23
  • 打赏
  • 举报
回复
select a,b,c from
(select row_number()over(partition by a order by a) rn,a,b,c from table1)
where rn=1
nibh 2006-11-22
  • 打赏
  • 举报
回复
select distinct A, B, C from table1;
这样写可对?

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧