我是新手,求一条SQL语句或方法也可以

天壹神水 2006-08-15 10:32:57
declare @t2 table(zw char(2), mc char(4), lx char(1))
insert into @t2 select '02','黑马','3'
union all select '02','白马','1'
union all select '04','皇马','1'
union all select '05','斑马','2'

想求一条 select 语句可以得到
'02','黑马','3'
'04','皇马','1'
'05','斑马','2'

'02','白马','1'
'04','皇马','1'
'05','斑马','2'
的结果,应该怎样写?就是去掉重复的zw号码
...全文
98 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
天壹神水 2006-08-15
  • 打赏
  • 举报
回复
好的,谢谢!
hellowork 2006-08-15
  • 打赏
  • 举报
回复
楼主先测试一下吧.如果zw相同的行中mc有重复的,前二种方法不行(以mc为判断依据,没有以lx为判断依据.如果以lx为判断依据,与mc同理),就要用后面的二种方法,即:
select zw,max(mc) as mc,max(lx) as lx from @t2 group by zw

select zw,min(mc) as mc,min(lx) as lx from @t2 group by zw
天壹神水 2006-08-15
  • 打赏
  • 举报
回复
先谢谢,忘了说一点,得出来的结果要求mc和lx要相对应
这四句得出的结果 mc和lx是相对应的吗?
hellowork 2006-08-15
  • 打赏
  • 举报
回复
顺便问一下,问题点数: 20 这个怎样确定的?
----------------------------------------------------------------------------------
点数就是分数.在<提问>页面中有个选项,可以确定这个问题值多少分.


怎么才知道自己有多少点数呢?
----------------------------------------------------------------------------------
点击左侧树形目录中<我的技术社区>--<我的信誉分变化记录>页面的下方"可用分"就是用户当前的分数.有关分数的更多信息请参考帮助.
hellowork 2006-08-15
  • 打赏
  • 举报
回复
select * from @t2 a where not exists(select 1 from @t2 where zw = a.zw and mc < a.mc)

select * from @t2 a where not exists(select 1 from @t2 where zw = a.zw and mc > a.mc)

select zw,max(mc) as mc,max(lx) as lx from @t2 group by zw

select zw,min(mc) as mc,min(lx) as lx from @t2 group by zw
天壹神水 2006-08-15
  • 打赏
  • 举报
回复
mc 和 lx可以有重复的.
顺便问一下,问题点数: 20 这个怎样确定的?
怎么才知道自己有多少点数呢?

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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