关于去除重复的查询

ykdrj 2011-04-28 09:52:36
tb1
name no
AAAA 2
BBBB 3
AAAA 3


查询结果
name no
AAAA 2
BBBB 3


select distinct name,no from tb1 不行
只判断name是否重复,如果有2个AAAA,后面no不一样,随便取哪个都可以,所以distinct不行,取出来还是3行
...全文
121 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenyukuai 2011-04-29
  • 打赏
  • 举报
回复
declare @tb1 table (name varchar(4),no varchar(2))
insert into @tb1
select 'AAAA','2' union all
select 'BBBB','3' union all
select 'AAAA','3'

select ROW_NUMBER()over(order by name) as rid,* into #a from @tb1 order by name

select a.name,a.no from #a a left join #a b on a.rid=b.rid+1
where a.name<>isnull(b.name,'')
ykdrj 2011-04-29
  • 打赏
  • 举报
回复
谢谢大家的帮助,又学习到新东西了
haosa 2011-04-28
  • 打赏
  • 举报
回复
create table #tb (name nvarchar(20),[no] int)

insert into #tb
select 'AAAA','2'
union all select 'BBBB','3'
union all select 'AAAA','3'

select name,[no] from (
select *,ROW_NUMBER() over (partition by name order by [no] desc) as row from #tb) as T
where T.row = 1

name no
-------------------- -----------
AAAA 3
BBBB 3

(2 行受影响)
njwup 2011-04-28
  • 打赏
  • 举报
回复
如果 no 为数值型则
select name,max(no) from tb1 group by name 或
select name,min(no) from tb1 group by name
Shawn 2011-04-28
  • 打赏
  • 举报
回复
select b.* from
(select distinct [name] from tb1) a
cross apply
(select top(1) * from tb1 where [name] = a.[name] /*order by field_list*/) b
叶子 2011-04-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ykdrj 的回复:]
如果 no 列不是数字呢
[/Quote]

declare @tb1 table (name varchar(4),no varchar(2))
insert into @tb1
select 'AAAA','2a' union all
select 'BBBB','3b' union all
select 'AAAA','3c'

select * from @tb1 t
where no=
(select min(no) from @tb1 where name=t.name )
order by name
/*
name no
---- ----
AAAA 2a
BBBB 3b
*/
--是不是数字没有关系
ykdrj 2011-04-28
  • 打赏
  • 举报
回复
如果 no 列不是数字呢
qgqch2008 2011-04-28
  • 打赏
  • 举报
回复

select * from tb1 a where not exist (select 1 from tb1 b where a.[name]=b.[name] and a.no>b.no)
bill024 2011-04-28
  • 打赏
  • 举报
回复

select * from tb1 A where no=(select min(no) from tb1 where name=A.name)

34,571

社区成员

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

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