如下:
1-5 陈先生
6-8 陈先生
9-15 张先生
16 陈先生
17-18 张先生
变成如下的
1-8,16  陈先生  
9-15,17-18 张先生在大伙给个解决办法,谢谢!!!

解决方案 »

  1.   

    按姓名排序,先将数据读取DataTable中,然后记录第一条记录的姓名,向下循环,并记录每条记录的时间,这样循环完成后,就会得到按每个人的时间列表,然后再针对每个人处理该时间列表
      

  2.   

    先分组
    SELECT name, old
    FROM test
    GROUP BY name, old
    HAVING (name = '陈先生')
    得到如下数据:
    陈先生     1-5       
    陈先生     16        
    陈先生     6-8       
    通过程序处理一下就可以得到你要的结果了
      

  3.   

    按姓名和id排序,顺序检查。
    同一姓名的,如果第一行id结尾值e1和第二行的id起始值s2比较,如果s2 <= e1 + 1,则合并为新的s1 - e2;如果s2 > e1 + 1,则合并为s1-e1,s2;在和第三行比较;重复前面方法,直到下一姓名;
      

  4.   

    你不是已经分好了么?每个名字跟一个ArrayList