求一个简单的SQL语句!

shangnong_1999 2005-09-29 02:49:32
表中字段dm有重复的数据,数据例子如下:
dm mc
0000 a
0000 ab
0001 b
0001 bc
求一个SQL语句实现以下结果:
dm mc
0000 a
0001 b
...全文
86 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyinbo0109 2005-09-29
  • 打赏
  • 举报
回复
declare @a table
( dm char(10),
mc char(10)
)
insert @a
select '0000','a'
union all
select '0000','ab'
union all
select '0001','b'
union all
select '0001','bc'

select dm,min(mc) from @a group by dm
brooks105 2005-09-29
  • 打赏
  • 举报
回复
select * from a s
where not exists(select 1 from a
where a.dm=s.dm
and a.mc<s.mc)
yinguangbo 2005-09-29
  • 打赏
  • 举报
回复
select distinct t1.dm,t2.mc from tb as t1 left join tb as t2 on t1.dm=t2.dm
你试试这个语句,如果left join 不成,可以试试right join和inner join
$扫地僧$ 2005-09-29
  • 打赏
  • 举报
回复
select dm ,left(mc,1) from 表 group by dm ,left(mc,1)
shangnong_1999 2005-09-29
  • 打赏
  • 举报
回复
字段mc是随便的,没有规律
duoluohuifeng 2005-09-29
  • 打赏
  • 举报
回复
SELECT select * from 表 t WHERE LEN(mc)=(SELECT MIN(LEN(MC)) FROM 表 WHERE DM=T.DM)
vivianfdlpw 2005-09-29
  • 打赏
  • 举报
回复
declare @tb table
(
dm varchar(10),
mc varchar(10)
)
insert @tb
select '0000','a' union
select '0000','ab' union
select '0001','b' union
select '0001','bc'

--查询
select * from @tb t
where mc=(select min(mc) from @tb where dm=t.dm)

--结果
/*
dm mc
---------- ----------
0000 a
0001 b

(所影响的行数为 2 行)
*/
vivianfdlpw 2005-09-29
  • 打赏
  • 举报
回复
select * from 表 t
where mc=(select min(mc) from 表 where dm=t.dm)

34,593

社区成员

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

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