sql 去除重复字段

maycxd 2011-05-18 11:28:03
请问下大家,比如说刷选出重复记录了
语句如下 select a.* from Sheet1$ a inner join
(select huzhbiha,huwubiha from Sheet1$ group by huzhbiha,huwubiha having count(*)>1) b
on a.huzhbiha=b.huzhbiha and a.huwubiha=b.huwubiha
where a.huzhbiha='SUNX01' and a.huwubiha='1314-0002-02'
然后我想在这个结果集的基础上在去除重复记录,重复的记录是不能删除的
也就是相当于刷选出的数据,我只要1条,还是以huzhbiha 和huwubiha 这2个字段刷选
条件,请问高手如何写啊~!
...全文
111 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
maycxd 2011-05-19
  • 打赏
  • 举报
回复
谢谢,昨天忘记结贴了~!
--小F-- 2011-05-18
  • 打赏
  • 举报
回复
;with f as
(
select a.* from Sheet1$ a inner join
(select huzhbiha,huwubiha from Sheet1$ group by huzhbiha,huwubiha having count(*)>1) b
on a.huzhbiha=b.huzhbiha and a.huwubiha=b.huwubiha
where a.huzhbiha='SUNX01' and a.huwubiha='1314-0002-02'
)

select
*
from
f t
where
id=(select max(id) from f where huzhbiha = t.huzhbiha and huwubiha = t.huwubiha ) --或者日期什么的
水族杰纶 2011-05-18
  • 打赏
  • 举报
回复
如果是2000借助临时表
如果是2005及以上
参考小三的
dearbinge 2011-05-18
  • 打赏
  • 举报
回复

select * from
(
select row_number() over (partition by huzhbiha,huwubiha order by huzhbiha) as rowindex,*
(
select a.* from Sheet1$ a inner join
(select huzhbiha,huwubiha from Sheet1$ group by huzhbiha,huwubiha having count(*)>1) b
on a.huzhbiha=b.huzhbiha and a.huwubiha=b.huwubiha
where a.huzhbiha='SUNX01' and a.huwubiha='1314-0002-02'
)t1
)t2
where rowindex = 1
AcHerat 元老 2011-05-18
  • 打赏
  • 举报
回复

with ct1 as
(
select a.* from Sheet1$ a inner join
(select huzhbiha,huwubiha from Sheet1$ group by huzhbiha,huwubiha having count(*)>1) b
on a.huzhbiha=b.huzhbiha and a.huwubiha=b.huwubiha
where a.huzhbiha='SUNX01' and a.huwubiha='1314-0002-02'
)

select *
from ct1 t
where not exists (select 1 from ct1 where huzhbiha = t.huzhbiha and huwubiha = t.huwubiha and id > t.id) --或者日期什么的
yibey 2011-05-18
  • 打赏
  • 举报
回复
select distinct a.* from ....

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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