在 PRO_HIS_AFFAIR 表中,有这些字段 Affair_ID,Affair_Name,Flow_ID,Flow_Name,Step_ID,Step_Name,Beg_Date,Due_Date,End_Date,Curr_Stat,Teller,Postil,Re
Affair_ID是主健取出Step_ID最大的那条记录,怎么写?

解决方案 »

  1.   

    select top 1 from PRO_HIS_AFFAIR order by Step_ID desc
      

  2.   


    select * from 
    (select * from PRO_HIS_AFFAIR order by Step_ID desc) AFFAIR
    where rownum=1;
      

  3.   

    select * from 
    where Step_ID = (select max(Step_ID) from PRO_HIS_AFFAIR )
      

  4.   

    还有一个要求,是查询在 AFFAIR_ID 中 Step_ID最大的那条记录
      

  5.   

    还有一个要求,是查询在 AFFAIR_ID 中 Step_ID最大的那条记录
    这句话看不懂?LZ说的明白点
      

  6.   

    你说的可能是多个表之间的操作了
    你最好还是说清除点还有里面可能会出现关于Step_ID相同的“第一”
    具体可以再看看
      

  7.   

    在 PRO_HIS_AFFAIR 表中,有这些字段 Affair_HIS_NO,Affair_ID,Affair_Name,Flow_ID,Flow_Name,Step_ID,Step_Name,Beg_Date,Due_Date,End_Date,Curr_Stat,Teller,Postil,Re
    Affair_HIS_NO 是 主健 AFFAIR_ID代表一个事务,PRO_HIS_AFFAIR 表中有多个 AFFAIR_ID(事务),一个事务下有多环节(Step_ID)
    问题:      查询在 AFFAIR_ID 中 Step_ID最大的那条记录
      

  8.   

    在 PRO_HIS_AFFAIR 表中,有这些字段 Affair_HIS_NO,Affair_ID,Affair_Name,Flow_ID,Flow_Name,Step_ID,Step_Name,Beg_Date,Due_Date,End_Date,Curr_Stat,Teller,Postil,Re
    Affair_HIS_NO 是 主健 AFFAIR_ID代表一个事务,PRO_HIS_AFFAIR 表中有多个 AFFAIR_ID(事务),一个事务下有多环节(Step_ID)
    问题:      查询在 AFFAIR_ID 中 Step_ID最大的那条记录
      

  9.   

    select * from (
    SELECT ROW_NUMBER() OVER (PARTITION BY AFFAIR_ID ORDER BY Step_ID desc) rn,a.* from  PRO_HIS_AFFAIR    a  )
    where rn=1
      

  10.   

    帅哥,可以解释一下吗?
    特别是 ROW_NUMBER() OVER 函数什么意思, where rn=1 ,rn=1 是什么意思
      

  11.   

    如果问题是这样:
    在 PRO_HIS_AFFAIR 表中,有这些字段 Affair_HIS_NO,Affair_ID,Affair_Name,Flow_ID,Flow_Name,Step_ID,Step_Name,Beg_Date,Due_Date,End_Date,Curr_Stat,Teller,Postil,Re
    Affair_HIS_NO 是 主健根据Step_ID最大的那条记录,插入一条除Affair_HIS_NO ,其他字段和Step_ID最大的那条记录字段一样的纪录
      

  12.   

    ROW_NUMBER() OVER 分组从1开始排序,rn=1表示选AFFAIR_ID 组内Step_ID最大的