select min(id) as id,[name]
from tablename
where id between 5 and 7
group by [name]
having count(*) > 1

解决方案 »

  1.   

    select * from tablename where name in(select name from tablename where id in(5,6,7))
      

  2.   

    select * from tablename where id between 5 and 7
    group by name
    having count(*) > 1
      

  3.   

    那样只能输出一个啊,我要name相同的都输出来
      

  4.   

    select * from t
    where name in 
    (select name from t where id in(5,6,7)
     group by name having count(name)>1)
    and id in(5,6,7)
      

  5.   

    再问问
    having count(name)>1不太明白这里的用法(虽然知道是塞选,但是又加了个count(),就晕了)
    能说说么,谢谢!
      

  6.   

    先按name分組﹐后having count(name)>1即相當于條件Where語句
      

  7.   

    having語句一般與group by 連用(放在group by 后面)