我在做一个分组记录筛选的东东,表中记录已经分组,而且每组的记录条数都是<=6,我想把分组中记录条数相同,而且每条记录都相对应的筛选一下,把日期最新的那组找出来,INSERT到新表,没有对应相同记录的没重复的组也INSERT到新表.搞了一个星期了,头都爆了  
 
id            lrrj                    pzh          lsh            num     zheyao              
83            2006-10-11            1            1            1001            现金              
84            2006-10-11            1            2            2121            应付账款  
85            2006-10-11            2            1            1211            原材料              
86            2006-10-11            2            2            1301            待摊费用  
87            2006-10-11            3            1            1502            累计折旧  
88            2006-10-11            3            2            1001            现金              
89            2006-10-11            4            1            1301            待摊费用  
90            2006-10-11            4            2            1002            银行存款  
91            2006-10-11            5            1            1001            现金              
92            2006-10-11            5            2            2121            应付账款  
111            2006-10-18            6            1            1001            现金              
112            2006-10-18            6            2            2121            应付账款  
 
我删除了一些字段,PZH是分组,分组1  中与分组5、6中,它们的NUM,ZHEYAO是相对应的

解决方案 »

  1.   

    id            lrrj                 pzh          lsh            num     zheyao              
    85            2006-10-11            2            1            1211            原材料              
    86            2006-10-11            2            2            1301            待摊费用  
    87            2006-10-11            3            1            1502            累计折旧  
    88            2006-10-11            3            2            1001            现金              
    89            2006-10-11            4            1            1301            待摊费用  
    90            2006-10-11            4            2            1002            银行存款   
    111            2006-10-18            6            1            1001            现金              
    112            2006-10-18            6            2            2121            应付账款
      
    这是结果
      

  2.   

    select 表.* from 表,
    (select max(lrrj) maxlrrj, num from table1 group by num) t
    where 表.lrrj = t.maxlrrj and 表.num = t.num order by 表.id
      

  3.   

    //不知道出什么错误
    //不知道你是怎么分组的
    //是不是按照pzh分组哪?
    把日期最新的那组找出来,INSERT到新表,没有对应相同记录的没重复的组也INSERT到新表.搞了一个星期了,头都爆了  
    //什么意思?
      

  4.   

    我可能笨.表述不好,我说清楚一点
    表是按PZH分组的,而且NUM的值有160种,每组的记录条数都是<=6
    我的意思是:
    把记录条数相同的分组进行比较,当比较的双方的结构相同时,把日期最新的一组INSERT到新表
    当双方的结构不相同时,把这两组记录都INSERT到新表
    如果分组找不到记录条数相同的分组进行比较,把这组记录都INSERT到新表
    因为要比较的是字段NUM,所谓结构相同
    例:
    分组1                         分组2
    1001                           1001
    1211                           1211
    1301                           1301结构不相同
    例1:
    分组1                         分组2
    1001                           1001
    1301                           1211--->没对应相同
    1211                           1301--->没对应相同例2:
    分组1                         分组2
    1001                           1001
    1301                           1211--->没对应相同
    1501                           1501
      

  5.   

    觉得 pigsanddogs(我爱吃猪肉,但是长不胖,为什么??) 的应该可以吧
    如果不行只能说明你还有什么条件没列出
      

  6.   

    哦,try:select tb.* 
    from tb
         (select max(id) as maxid,max(lrrj) as maxlrrj,num from tb group by num) t
    where tb.id=maxid and tb.lrrj = t.maxlrrj and tb.num = t.num 
    order by tb.id
               
      

  7.   

    pigsanddogs(我爱吃猪肉,但是长不胖,为什么?的代码可以筛选出记录条数是2 的分组,但一出现分组记录条数是3 以上的,如果记录条数是3 以上的那些分组内容包含有记录条数是2 的分组内容时,分组条数是2 的那些分组不能筛选出来,只筛选出了条数是3 以上的
      

  8.   

    你的意思是不是pigsanddogs的会出现相同日期的筛选不了?是的话就试一下我写的
      

  9.   

    修改一下:select tb.* 
    from tb
         (select max(id) as maxid,lrrj,num from tb group by lrrj,num) t
    where tb.id=maxid 
    order by tb.idorselect *
    from tb
    where id in (select max(id) from tb group by lrrj,num)不知道是不是你要的
      

  10.   

    pigsanddogs(我爱吃猪肉,但是长不胖,为什么?)给的代码效果更接近些,大家真的不好意思,让大家为我这么费心
      

  11.   

    分组1                         分组2
    1001                           1001
    1211                           1211
    1301                           1301结构不相同
    例1:
    分组1                         分组2
    1001                           1001
    1301                           1211--->没对应相同
    1211                           1301--->没对应相同爲什麽例1的結構就不同了哪?
    就是説按週pzh分組 而且1中存在的num不再2中的插入到新表中
      

  12.   

    就是要一一对应,虽然它们记录条数一样,但由于记录不是一一对应相同,所以就要筛选出来,INSERT到新表