select * from 入金明細 where 行NO=1

解决方案 »

  1.   

    select A.* from 入金明細 A
    where A.行No = (
        select min(b.行No) 
        from 入金明細 B
        where A.入金No = B.入金No
    );
      

  2.   

    "select * from 入金明細 where 行NO=1"
    --如果能够肯定 行No 肯定是从1开始,这最方便了
    只要不出先
    232 2 32 61530
    232 3 35 840希望得到
    232 2 32 61530
    这种情况就可以:)
      

  3.   

    select * from 入金明細 where 行NO=1
      

  4.   

    如果行no不是从1开始,也可以先建一个子查询分类,然后从结果中找出rownum=1的不就可以了?不过这样只能取rownum=1的
      

  5.   

    你的目的是不是分类获取该分类中金额数最大的?
    如果是的话,那就先按照分类排序,再按照金额desc排列,在where条件中加上rownum=1就可以了,即
    select * from 入金明细 where rownum=1 order by 入金no asc,入金额 desc
      

  6.   

    select * from 入金明细 where rowid in (select min(rowid) from 入金明细 group by 入金NO)
      

  7.   

    支持yujiabian(),我觉得这才是解决问题的方法
      

  8.   

    rownum=1 不就只有一条结果了?!不行!
      

  9.   

    以上数据误导了大家.看看如下数据入金NO 行NO
    A0       A
    A1       A
    A2       A
    B1       B
    B2       B
    B3       B
    ...
    Z0       Z
    Z2       Z
    Z9       Z
    要每类的第一条。
      

  10.   

    select * from 表 where rowid in (select min(rowid) from 表 group by 行NO)这个应该可以吧
      

  11.   

    要每类的第一条。
    就是
    A0       A
    B1       B


    。Z0       Z
    难吗?
      

  12.   

    select * from 表 where rowid in (select min(rowid) from 表 group by 行NO)这个应该可以
      

  13.   

    不过方法有局限
    比如我要的到头2条
    A0       A
    A1       A
    B1       B
    B2       B
    ...
    Z0       Z
    Z2       Z
    这个方法实现不了。
      

  14.   

    虽然这个问题已经结束了,不过,我个人认为
    " letsflytogether "
    select * from 入金明细 where rowid in (select min(rowid) from 入金明细 group by 入金NO).
    采用in,如果 入金明细 表数据量比较大的时候,效率可能不是很好!个人推荐,在表很大的时候,尽量避免使用in