表a 中有一列这样的数据F000001 
F000002 
F000003 
F000004 
F000005 
.... 
F000012 怎样在access 里用SQL 查询得到这样的结果:F000001-F000004
F000005-F000008
F000009-F000012

解决方案 »

  1.   

    select min(A)+'-'+max(A) from (select A,iif(mid(Cstr((select count(1) from TB where A<T.A)/4),1,1)='0','.',mid(Cstr((select count(1) from TB where A<T.A)/4),1,1)) as flag from TB t) group by flag
      

  2.   

    select 数据 &'-F' & right(mid(数据,2) + 1000003,6)
    from 表a
    where mid(数据,2) mod 4=1
      

  3.   

    按(RIGHT(COL,LEN(COL)-6)-1)/4来分组就行,或用ID列来分组,再相加
      

  4.   

    IIf 在SqlServer里好像不可以直接用吧?
    乱发贴,自己试了没有?
      

  5.   

    Access代码:SELECT MIN(ID)+'-'+MAX(ID) FROM A_TABLE
    GROUP BY int((Clng(RIGHT(ID, 6))-0.1)/4)
      

  6.   

    在ACCESS中试过,可以的
    SELECT MIN(ID)+'-'+MAX(ID) FROM A_TABLE
    GROUP BY int((Clng(RIGHT(ID, 6))-0.1)/4)
      

  7.   

    你个SB,搞不清状况乱叫,你到Access中试,不行我名字倒写
      

  8.   

    我有200k 条数据,用这个代码来run太慢了,不得不关掉进程.不过还是谢谢你,至少它是可以work的
      

  9.   

    这个"F"是hard code的? 可能是T或者其它的,根据源数据决定.