select * from table1 where count(*)>=5 group by field1

解决方案 »

  1.   

    不知道你的数据库是否支持自定义函数,如果是oracle的话,就可以自己写一个函数判断某个字符串是否符合你的要求
      

  2.   

    sql server应该也是用自定义函数。
    如果低版本,就只能用substring等函数来处理。
      

  3.   

    也不是特别难。
    如果这些字符是有范围的,比如ASCII码在32-255,那就先生成一个临时表,表中有一个字段char(5),先填写这个表的记录(32-255也就223条记录),然后用这个表与目标表进行联合查询。
      

  4.   

    select * from table1 where field1 in (select field1 form (select count(field1) as num from table1 group by field1) where num>=5 ) group by field1
    这种方法可能比较耗时。但方法可行。
    :),三层查询。
      

  5.   

    null兄真是思路很开阔,这个办法可能是除了自定义函数后,比较好的解决办法了。通过一个子查询,如果表中指定字段的字符串like临时表中的某条记录,就选出该条记录。最后就能得到所要的记录集了。很不错的思路和方法,佩服!!