一个简单的SQL问题
今天朋友发个题目过来:
serial name sex birthday
1 a y 12
2 b y 12
比如这两个数据的 sex和birthday相同就查询出来。
如:
数据是
serial name sex birthday
1 a y 12
2 b y 12
3 c n 13
4 d n 13
查出来的就是
1 a y 12
2 b y 12
3 c n 13
4 d n 13
数据是
serial name sex birthday
1 a y 12
2 b y 12
3 c n 13
查出来的就是
1 a y 12
2 b y 12
我思考过后,给出的答案如下:
select * from tableA
where serial in
(
select serial from tableA
inner join
(
select sex,birthday from tableA
group by sex,birthday
having count(*)>1
) as tableTemp
on tableA.sex = tableTemp.sex and tableA.birthday = tableTemp.birthday
)