select t_students.sname,t_exam_dtl.edtlname,t_score.sc
from t_students,t_exam_dtl,t_score
where t_score.stid=t_students.stid and
      t_score.edtlid=t_exam_dtl.edtlid and
      t_score.sc<60 
我想查询名字出现两次以上的记录

解决方案 »

  1.   

    select * from table where sname in (select sname from   (select count(sname) cou,sname from table group by sname) where cou>=2)
      

  2.   


    SELECT * FROM TABLE_NAME WHERE SNAME IN (SELECT SNAME FROM TABLE_NAME GROUP BY SNAME HAVING COUNT(1) > 1)
      

  3.   

    select sname from t_students group by sname having count(a002)>1 ;
      

  4.   


     SELECT * FROM table_name t WHERE t.sname IN (SELECT t.sname FROM table_name t GROUP BY t.sname HAVING COUNT(1) > 1)
      

  5.   

    其实就是利用group by和having的选择出姓名重复大于2的数据。具体的sql自己去写
      

  6.   

    可以在外面再嵌套一层,加上判断条件having count(sname)>2