select * from table having count(field)>1

解决方案 »

  1.   

    用以上sql语句可以实现:
    select fieldname from table_1 group by fieldname having count(*) > 1 ;
      
      将count()函数放在having计算出每一个组的记录个数,如果该组的记录个数大于 1,则说明fieldname存在重复情况 (可以同时查看多个字段重复记录)说明:Having和Where子句意义差不多,都是在其中加入查询条件, 区别是where用于查询整张表的所有字段, 而having中的查询只能用到group by中出现的字段,并且条件的判断是其于组中的记录.所以以上having count(*) 是计算每个组的记录个数再举一个特别例子:
    select fieldname from table_1 group by fieldname having fieldname in ('a', 'b');
    以上也是正确的,只要having后面出现的条件查询用到的字段属于group by中的就行.以上是所有odbc标准支持的聚集函数:(根据后台所用数据库不同有可能有更多的增强函数)
    sum() 求和
    max() 最大值
    min()  最小值
    avg() 平均数
    count() 求记录个数
      

  2.   

    select * from yourtable
    where (select count(*) from yourtable a where a.name=yourtable.name)>1--注意a是yourtable的一个别名
      

  3.   

    select * from 表 a where (select count(*) from 表 where 某字段=a.某字段)>1--或:
    select * from 表 where 某字段 in(select 某字段 from 表 group by 某字段 having count(*)>1)