select min(id) id,type from tablename group by type
declare @T table(ID varchar(10),type varchar(10)) insert into @T select '01','AA' union all select '02','BB' union all select '03','AA'select * from @t a where exists(select 1 from @t where type=a.type and ID<>a.ID)??
select * from 表名 a where exists(select 1 from 表名 where type=a.type and ID<>a.ID)
select * from tablename a where exists( select 1 from tablename where type=a.type and ID<>a.ID )
ID不同是随便取吗?用min或者MAX
谢谢了! 诸位 SELECT [ID] , TYPE FROM TT A WHERE EXISTS (SELECT 1 FROM TT WHERE TYPE = A.TYPE AND [ID]<>A.[ID])SELECT DISTINCT A.[ID] , A.TYPE FROM TT A INNER JOIN TT B ON A.[ID] <> B.[ID] AND A.TYPE = B.TYPESELECT DISTINCT A.[ID] ,B.TYPE FROM TT A, TT B WHERE A.[ID] <> B.[ID] AND A.TYPE = B.TYPE
to:NNPeople(春春)SELECT [ID] , TYPE FROM TT A WHERE EXISTS (SELECT 1 FROM TT WHERE TYPE = A.TYPE AND [ID]<>A.[ID]) 这种不行~(第一句) 比如 ID type 01 AA 01 AA 选完之后都会在结果之中,这种写法不能去掉相同的结果,后面两条是可以的
insert into @T select '01','AA'
union all select '02','BB'
union all select '03','AA'select * from @t a where exists(select 1 from @t where type=a.type and ID<>a.ID)??
where exists(
select 1 from tablename
where type=a.type
and ID<>a.ID
)
SELECT [ID] , TYPE FROM TT A WHERE EXISTS (SELECT 1 FROM TT WHERE TYPE = A.TYPE AND [ID]<>A.[ID])SELECT DISTINCT A.[ID] , A.TYPE FROM TT A INNER JOIN TT B ON A.[ID] <> B.[ID] AND A.TYPE = B.TYPESELECT DISTINCT A.[ID] ,B.TYPE FROM TT A, TT B WHERE A.[ID] <> B.[ID] AND A.TYPE = B.TYPE
[email protected]
先谢了
这种不行~(第一句)
比如
ID type
01 AA
01 AA
选完之后都会在结果之中,这种写法不能去掉相同的结果,后面两条是可以的