select * from yourtable a where rid<>0 and (select sum([len]) from yourtable where rid<>0 and rid<=a.rid)<200

解决方案 »

  1.   

    有点不太理解这句:[LEN]累加小于200.0的最大的[RID]值?
    照我现在的理解试了一下
    SELECT max(a.rid)
    FROM PIPES a
    WHERE (RID <> 0) AND
              ((SELECT SUM([len])
              FROM PIPES
              WHERE rid <> 0 AND rid <= a.rid) < 200)
      

  2.   

    select * from PIPES where [RID] = (select Max([RID]) from PIPES where [RID]<>0 and sum([len]) <200 group by [RID] )
      

  3.   

    这是数据
    CID         RID         LEN                      
    ----------- ----------- ------------------------ 
    1           1           0.0
    2           0           10.232206
    3           0           10.250839
    4           0           10.269472
    5           0           10.288105
    6           0           10.306738
    7           0           10.325371
    8           0           10.344005
    9           0           10.362638
    10          0           10.38127
    11          2           10.38127
    12          0           10.399903
    13          0           10.418536
    14          3           10.418536
    15          4           10.418536
    16          0           10.437169
    17          0           10.455802
    18          0           10.474435
    19          0           10.493068
    20          5           9.5117006
    21          6           9.5303335
    22          7           9.5489664
    23          8           9.5676003
    24          9           9.5862331
    25          10          9.604866
    26          11          9.6234989
    27          12          9.6421318
    28          13          9.6607647
    29          14          9.6793976
    30          15          9.6980305
    31          16          9.7166634
    32          17          9.7352962
    33          18          9.7539291
    34          19          9.772563
    35          20          9.7911959
    36          21          9.8098288
    37          22          9.8284616
    38          23          9.8470945
    39          24          9.8657274
    40          25          9.8843603
    41          26          9.9029932
    42          27          9.9216261
    43          28          9.940259
    44          29          9.9588919
    45          30          9.9775248
    46          31          9.9961586
    47          0           10.014791
    48          0           10.033424
    49          0           10.052057
    50          0           10.07069要求结果
    [RID]
    ----------------
    21
      

  4.   

    根据我给的数据, wanyingsong(豌豆) superren() 都能够得出正确结果,谢谢两位,恐龙兄的好像不行。给分,结贴。