日期:2014-05-19  浏览次数:20574 次

查询相同数据的老问题
大家帮帮忙啦
目前有这样一个表fbdgset
corpbm     dgtitle     dgtitleid
0001           aaa                 1  
0002           bbb                 1
0002           ccc                 2
0003           ddd                 1
0002           eee                 3
0001           fff                 2
想得到如下结果
corpbm       dgtitle       dgtitleid
0001           aaa                     1
0002           bbb                     1
0003           ddd                     1

请问该如何做啊~~~~
各位大侠帮帮忙
解决了马上散分


------解决方案--------------------
select * from fbdgset a
where not exists (
select 1 from fbdgset
where corpbm=a.corpbm and dgtitleid <a.dgtitleid
)

------解决方案--------------------
--如果corpbm相同的時候,dgtitleid不會重復

--方法一:
Select * From fbdgset A
Where Not Exists (Select corpbm From fbdgset Where corpbm = A.corpbm And dgtitleid < A.dgtitleid)

--方法二:
Select * From fbdgset A
Where dgtitleid = (Select Min(dgtitleid) From fbdgset Where corpbm = A.corpbm)

--方法三:
Select A.* From fbdgset A
Inner Join (Select corpbm, Min(dgtitleid) As dgtitleid From fbdgset Group By corpbm) B
On A.corpbm = B.corpbm And A.dgtitleid = B.dgtitleid