现有表 table_a , 取其中字段a1,a2., a3
要求取出a3有相同值的记录。
例如现有记录:
a1 a2 a3
1 1 1
2 2 1
3 3 3
最终查询出的结果 应为:
a1 a2 a3
1 1 1
2 2 1
求助该查询SQL该如何写,突然傻掉了,没想到好的办法
select a.* from tt a inner join
(select a3 from tt group by a3 having count(*)>=2) b
on a.a3=b.a3
要求a1 的值为 1 或 2 并且a3有相同值。
select a.* from tt a where exists(select 1 from tt where a.a3=a3 and a.id<>id)
AND A.A1 IN(1,2)
如果要求a1 的值为 1 或 2 或 3 并且a3不能有相同值。
select a.* from tt a where not exists(select 1 from tt where a.a3=a3 and a.id<>id and A1 IN(1,2,3))
AND A.A1 IN(1,2,3)