例如:1列中存储的都是字符串   abcdef
                              dnhdef
                              defabc
                              kefdba
                              .....我的意思就是把这列中至少含有3个字符是一样的行都查出来,该怎么写sql呢?(一天之内就结贴给分)

解决方案 »

  1.   

    因为3个字符排列组合是有穷而且不大的组合,可以构造一个字典:
    aaa
    aab
    aac
    aad
    ...
    aaf
    aba
    ...
    dee
    def 1 2 3 4
    deg
    ...
    zzx
    zzy
    zzz
    (一共只有17000多行)如果包含的元字符比较多,可以动态构造这个列表,而不是一次产生。然后将包含对应组合的行往里面添
    比如第一行,添入 abc bcd cde def 里面,
    以后每行类似。最后得到一个字典,key是3个字母,data是一个包含行的list。
    再循环取得list里面包含2条以上记录的最后对结果进行整理,去掉重复的。
      

  2.   


    有点不明白楼主的意思哦?什么叫至少含有3个字符是一样的,这三个字符有顺序限制吗?
    比如你给的数据是
    abcdef
    dnhdef
    defabc
    kefdba
    那你要的结果是什么呢?
    第一条和第二条是def重复
    第一条和第三条abc重复
    第二条和第三条也是def重复?
    以此类推,结果想怎么显示??