日期:2014-05-18  浏览次数:20636 次

简单sql文
有一个非常简单的sql文,就是求不同性别姓名相同的人的名字?
这里flg表示性别 1为男,2为女;
我却写的这么长,有简便的方法么?

select distinct T1.name 
from (select * from tan_mst where flg=1) T1,
  (select * from tan_mst where flg=2) T2
where T1.name = T2.name

------解决方案--------------------
你这样写就可以了啊,为什么还要用别的方法?

我想了下:


select count(T.flg),T.name from tan_mst T group by T.name where count(T.flag)=2 

上面没有测试

就是按照姓名来分组,统计性别

这样应该是可以的。
------解决方案--------------------
SELECT t.name FROM tan_mst t group by t.name having count(t.flag) >= 2
------解决方案--------------------
探讨
如果想取除同名之外的人的姓名呢??