zoukankan      html  css  js  c++  java
  • oracle-sql计算

    1.计算当前时间最近的15分整点数据

        select rdc.city_code          as city_id,
               rdc.city_name,
               rdc.DIS_FAIL_ORDER_NUM as RES_PREE_FAILURE_NUM,
               --以下是计算最近的整分时间
               to_char(sysdate, 'hh24') || ':' ||
               CASE trunc(to_char(sysdate, 'mi') / 15, 0)
                 WHEN 0 THEN
                  '00'
                 WHEN 1 THEN
                  '15'
                 WHEN 2 THEN
                  '30'
                 WHEN 3 THEN
                  '45'
                 ELSE
                  '00'
               END as HOUR_MIN
          from res_dis_city rdc
         where rdc.create_date =
               (select max(t.create_date) from res_dis_city t);

    2.根据地市递归计算地市底下的所有区县

    and ba.area_id in (SELECT b.area_id                    
                                   FROM bfm_area b                    
                                  START WITH b.area_id = :areaId      
                                 CONNECT BY PRIOR area_id = parent_id)

    3.根据某个字段相同,其他字段排序 获取第N行数据

    select *
      from (select (case
                     when ua.grade in ('C3', 'C4') then
                      (select area_name from uos_area where area_id = ua.parent_id)
                     else
                      ua.area_name
                   end) as pAreaName,
                   ua.area_name as areaName,
                   (select gridname from res_dd_grid where gridid = uo.grid_id) as gridName,
                   us.staff_name as staffName,
                   us.mobile_tel as mobileTel,
                   (select unit_name from res_dd_grid where gridid = uo.grid_id) as unitName,
                   decode(pst.traning_status, 0, '未完成', '完成') as traningName,
                   decode(pst.exam_pass, 0, '未考试', 1, '通过', '未通过') as examPassName,
                   us.staff_id,
                   uo.org_tmp_id,
                   uj.job_id,
                   row_number() over(partition by us.staff_id order by uo.org_tmp_id desc, uj.job_id asc) as row_no
              from t_people_traning_score pst,
                   uos_staff              us,
                   uos_job_staff          ujs,
                   uos_job                uj,
                   uos_job_priv           ujp,
                   uos_role               ur,
                   uos_org                uo,
                   uos_area               ua
             where pst.traning_id = 513 --这个修改成实际值
               and us.staff_id = pst.staff_id
               and ujs.staff_id = us.staff_id
               and uj.job_id = ujs.job_id
               and ujp.job_id = uj.job_id
               and ur.role_id = ujp.role_id
               and ur.role_name in ('网格长', '社区经理') --这个修改成灵活配置的那种SQL
               and uo.org_id = uj.org_id
               and ua.area_id = uo.area_id)
     where row_no = 1;

    4. 获取某个月的最后一天

    select * from rpt_chn_index5 where day_id=to_number(to_char(last_day(to_date('201704','yyyymm')),'yyyymmdd'));

    5.获取当前第一条数据

    where rownum = 1

    如果前面的数据先按照时间字段排序了。再用where rownum = 1 可以得出当前最新的数据

    6.统计地市+底下所有区县的总数

    select count(*) as taoToal,
                        (case ba.grade
                          when 'C3' then
                           ba.area_id
                          when 'C4' then
                           ba.parent_id
                        end) as groupAreaId
                   from TINF_ALARM_ORDER tao
                   LEFT JOIN bfm_area ba
                     on tao.area_id = ba.area_id
                  where 1 = 1
            and tao.Fault_Type = 'MFS'
                  group by (case ba.grade
                             when 'C3' then
                              ba.area_id
                             when 'C4' then
                              ba.parent_id
                           end)

    7.高效删除重复记录的方法

    DELETE FROM EMP E
    WHERE E.ROWID > (SELECT MIN(X.ROWID)
    FROM EMP X
    WHERE X.EMP_NO = E.EMP_NO
    )
  • 相关阅读:
    [最新]制作u盘引导安装ubuntu11.04
    js记录
    下面的代码有什么不妥之处
    Oracle常用命令
    蓝天下,献给你,html5
    无意义的小东西
    sql中,把varchar类型转换为int型,然后进行排序
    身边的人,来来去去
    不一定能写出来的求素数问题
    写在第一百篇博客之际
  • 原文地址:https://www.cnblogs.com/linhongwenBlog/p/10783852.html
Copyright © 2011-2022 走看看