USERTYPEID PRICE PRODUCTCODE DEPOSIT PRODUCTNAME ACCTITEMTYPEID 
0005 5.00 00000055 0.00 河南卫视 010001 
0005 0.00 00000016 0.00 央视八套 010001 
0010 0.00 10000019 0.00 数字电视基本包 010001 
0010 0.00 00000016 0.00 央视八套 010001 
0000 0.00 10000019 0.00 数字电视基本包 010001 
0000 10.00 00000055 0.00 河南卫视 010001 
0000 0.00 00000016 0.00 央视八套 010001 对于以上数据,我只希望查找相同PRODUCTCODE列数据中的第一条。
比如,对于PRODUCTCODE=10000019,我希望找到的数据是 0010 0.00 10000019 0.00 数字电视基本包 010001 

解决方案 »

  1.   

    select * from
    (select t.*,row_number()over(partition by productcode order by rownum)rn
      from tab1)
    where rn=1
      

  2.   

    假设表为test:
    select a.rowid,a.* 
    from test a 
    where a.rowid = (select min(b.rowid) 
                     from test b
                     where a.PRODUCTCODE = b.PRODUCTCODE)
      

  3.   

    select * from 
    (select t.*,row_number()over(partition by productcode order by rownum)rn 
      from tab1 t) 
    where rn=1