select to_char(a.doc_create_time,'yyyy-mm-dd') 创建时间,
       a.doc_subject 主题,
       to_char(a.fd_last_modified_time,'yyyy-mm-dd') 最后审批时间,
       to_char(a.doc_publish_time,'yyyy-mm-dd') 发布时间,
       a.doc_status 状态,
       b.fd_name 申请部门     
  from km_review_main a, sys_org_element b
  where a.fd_department_id = b.fd_id
       and b.fd_name like 'WH_%'
       and doc_status='30'
怎么对查询的结果计算,得出发布时间和创建时间差的最大值和最小值以及查询结果中包含多少条记录?
新人第一次发帖,刚开始学习,求大虾指导!

解决方案 »

  1.   

    思路:
    1、先确定这个时间差值是想求天的差还是月的或者什么
    2、到网上查出求差的语句,写出
    3、到网上查ORACLE取最大值的语句,写出
    4、到网上查出取结果的记录行数的语句,写出
      

  2.   

    --没有表结构,无法验证select max(a.doc_publish_time - a.doc_create_time) as maxDaysBetween,
           min(a.doc_publish_time - a.doc_create_time) as minDaysBetween,
           count(1) as total,
           b.fd_name 申请部门,
           a.doc_status 状态
      from km_review_main a, sys_org_element b
     where a.fd_department_id = b.fd_id
       and b.fd_name like 'WH_%'
       and doc_status = '30'
     group by b.fd_name 申请部门, a.doc_status 状态
      

  3.   


    select MAX(publishTime-createTime) MAXTime,
           MIN(publishTime-createTime) MINTime,
           count(*) recordcount from
    (select to_char(a.doc_create_time,'yyyy-mm-dd') createTime,
      a.doc_subject subject,
      to_char(a.fd_last_modified_time,'yyyy-mm-dd') modifiedTime,
      to_char(a.doc_publish_time,'yyyy-mm-dd') publishTtime,
      a.doc_status status,
      b.fd_name fdName   
      from km_review_main a, sys_org_element b
      where a.fd_department_id = b.fd_id
      and b.fd_name like 'WH_%'
      and doc_status='30') a