select print_no,max(reg_date) reg_date from tbname group by print_no;

解决方案 »

  1.   

    select print_no,max(reg_date) from table_name group by print_no
      

  2.   

    如果还有一个字段,如下:
    print_no    reg_date   status
    001         2003         0
    001         2004         1
    002         2003         0
    003         2005         0
    把print_no全部的取出来,如果print_no有重复,
    取出reg_date较大的那一条记录,要求把三个字段都取出来 
    怎么取?
      

  3.   

    select * from
    (select tbname.*,rank() over(partition by print_no order by reg_date rk from tbname) t
    where t.rk=1;
      

  4.   

    select * from table_name  where 
      (print_no,reg_date) in 
        (select print_no,max(reg_date) from table_name  group by print_no)
      

  5.   

    敢问bzszp(SongZip),你给我的sql语句怎么报缺少右括号的错误?
    可否给小弟讲讲?
      

  6.   

    sorry!
    select * from
    (select tbname.*,rank() over(partition by print_no order by reg_date) rk from tbname) t
    where t.rk=1;
      

  7.   

    select print_no,reg_date,status from (
    select tbname.*,max(reg_date) over(partition by print_no) max_date from tbname
    )
    where reg_date = max_date