我想找出table表中所有name字段相同,age不同的所有纪录。SQL查询语句该如何写?谢谢!

解决方案 »

  1.   

    --tryselect distinct a.*
    from tablename a
    inner join tablename b
    on a.name=b.name
    and a.age!=b.age
      

  2.   

    select name from table group by name having count(*)>1
      

  3.   

    select name from table group by name having count(*)>1
    这样只能搜索出name的重复纪录,不管age是否相同。
      

  4.   

    select * from table a
    INNER JOIN 
    (select name from table group by name having count(*)>1)b
    ON a.Name=b.Name
      

  5.   

    select a.* from table a
    INNER JOIN 
    (select name from table group by name having count(*)>1)b
    ON a.Name=b.Name
      

  6.   

    select a.name,a.age from test a
    inner join (select name from test group by name having count(*)>1) b
    on a.name=b.name
    group by a.name,a.age having count(*)<=1
      

  7.   

    select distinct name , age from tab
    or
    select name , age from tab
    group by name ,age