精华内容
下载资源
问答
  • Oracle_获取最新一条记录

    千次阅读 2018-11-15 16:43:22
    1 select rownum ,a.* from t_table a where rownum <100 2 SELECT * FROM ( SELECT *,ROWNUM rn FROM t ORDER BY inputDate DESC ) WHERE rn = 1

    1

    select rownum ,a.* from t_table a  where rownum <100
    

    2

    SELECT * FROM (
    	SELECT *,ROWNUM rn FROM t ORDER BY inputDate DESC
    ) WHERE rn = 1
    
    展开全文
  • 想要获取上一条或者下一条记录,又不能根据某以字段获取Oracle提供了这样的函数   !--获取一条记录,若没有记录则值为0,其中' lag (news_id,1,0 ) ' news_id为根据哪一个字段进行检查,'1 '为每次偏移量,'...

    想要获取上一条或者下一条记录,又不能根据某以字段获取,Oracle提供了这样的函数

     

    !--获取上一条记录,若没有记录则值为0,其中' lag (news_id,1,0 )news_id为根据哪一个字段进行检查,'1 '为每次偏移量,' 0 ' 为没有上一条时的返回值;

    select n.*,lag(news_id,1,0) over(order by news_id asc) nid from news n;

    执行结果,最右边多了一行,是每一条记录上一条记录的news_id

    !--具体运用,可以获取下一条记录的news_id

    select nid from
    (
        select n.*,lead(news_id,1,0) over(order by news_id asc) nid from news n
    )a where news_id = 3

     

     

     

    !--获取下一条记录,这里不再追述

    select n.*,lead(news_id,1,0) over(order by news_id asc) nid from news n

     

    !--具体运用,可以获取上一条记录的news_id

    select nid from
    (
        select n.*,lead(news_id,1,0) over(order by news_id asc) nid from news n
    )a where news_id = 3

     

    展开全文
  • 我这上面一段sql,查询的是一个一对多的关系,多方最新一条数据,现在我HISTORY表里有2万条数据,最后查询出来的少了几千条,也就是说 我多方那个表里面没有记录,它不了,然后就不显示吗?不应该有一条空...

    select * from (

    select a.*,t1.*,row_number() over (partition by t1.serial_no order by t1.cust_work_hours desc ) rn

    from HISTORY a

    left join (

    SELECT to_char(so.FAILURE_DATE, 'yyyy-MM-dd') work_hours,

    to_char(cmi.SERIAL_NO)                 serial_no,

    nvl(so.CUST_WORK_HOURS, 0)             cust_work_hours

    FROM SERV_ORDER so

    LEFT JOIN COMM_MACHINE_INFO cmi ON so.MACHINE_ID = cmi.MACHINE_ID

    WHERE so.SERV_TYPE_ID = 5

    UNION ALL

    SELECT to_char(CREATE_DATE, 'yyyy-MM-dd') work_hours,

    to_char(MACHINE_NO)                serial_no,

    nvl(CUST_WORK_HOURS, 0)            cust_work_hours

    FROM MAINTAIN_ORDER

    WHERE IS_MAINTAIN = 0) t1 on a.TMS_MACID = t1.serial_no ) t2 where t2.rn =1;

    我这上面一段sql,查询的是一个一对多的关系,取多方最新的一条数据,现在我HISTORY表里有2万条数据,最后查询出来的少了几千条,也就是说 我多方那个表里面没有记录,它取不了,然后就不显示吗?不应该有一条空数据出来吗,我是以history为主表left join的

    展开全文
  • oracle获取最新一条记录

    万次阅读 2018-05-06 13:19:16
    SELECT lybh,cfrq FROM ( SELECT lybh,cfrq,row_number() over(partition BY lybh ORDER BY cfrq DESC) rn FROM t_eb_cfjl WHERE cflx='3' ...标题描述的可能有些不清楚,意思就是获取最近的一条记录,比如这个人...
    SELECT lybh,cfrq FROM (
              SELECT lybh,cfrq,row_number() over(partition BY lybh ORDER BY cfrq DESC) rn FROM t_eb_cfjl WHERE cflx='3' AND del_flag=0) WHERE rn=1
    

    标题描述的可能有些不清楚,意思就是获取最近的一条记录,比如这个人今年去医院5次,每次都会有一个检查时间,那么我们的需求就是或许,该病人距离今天最近的一次就医记录,也就是我标题所说的是获取最新的一条记录。

    在这里插入图片描述

    展开全文
  • oracle取最新一条数据

    万次阅读 2019-05-20 17:53:40
    最近在做一个项目,数据库就是用的oracle,正好有个获取最新一条数据的需求。 在网上参考了他人的sql,放在自己这儿就是不行。下边是他们的sql SELECT * FROM ( SELECT *,ROWNUM rn FROM t ORDER BY date_col DESC ...
  • 本文给大家收集整理些关于sql获取一条记录的方法,包括sqlserver获取一条记录oracle获取一条记录,mysql获取一条记录,对sql获取一条记录的方法感兴趣的朋友可以参考下本
  • lead()查询当前行与下行数据主键 select zzid,c.p from ( select d.zzid ,lead(d.zzid,1,0) over (order by d.d01007 ) as p from t_d01 d where exists ( select 1 from ( select zzid from t_d01 d1 start ...
  • Oracle获取最新一条数据sql

    千次阅读 2019-07-31 16:48:04
    获取最新一条数据可以根据以下两种方法获取,提供参考如下: 一、select kd.CREATEUSERID as userid,kd.LOCATION,kd.createtime as location from KT_DEVICESTRACK kd where rownum=1 order by kd.createtime 二、...
  • 场景:当我们要查询记录,需要对记录分组并且根据排序到第一条数据。 栗子: create table order(--订单表 id number, orderType varchar2(2),--订单类型 orderNo varchar2(20),--订单号 amt number(2,2),-...
  • Oracle取TOP N条记录

    2018-08-06 17:59:34
    在SQL Server里面有top关键字可以很方便的取出前N条记录,但是Oracle里面却没有top的使用,类似实现取出前N条记录的简单方法如下: 方法1:利用ROW_NUMBER函数 取出前
  • 1. select * from ( select a.*, rownum as rn from tab_name a order by id asc ) where rn = 1 2. select * from tab_name where rownum = 1
  • 在ETL过程中,经常会碰到结果集的最后或最前一条记录。如活期存款的当前利率,开户金额,协定利率等。如果不用LOOKUP的方式,如通过游标或者ETL工具LOOKUP组件什么的,在一条SQL里实现,目前实现有几种方法。1...
  • Oracle 分组后每组的第一条记录

    千次阅读 2017-11-24 10:16:16
    Oracle 分组后每组的第一条记录
  • name from (select row_number() over(partition by id order by name ) t1 , t2.id,t2.name from b t2) where t1 = 1 ) t3 on t3.id = t5.id 单表查询,多条重复记录取一条 select * from ( select row_...
  • ORACLE分组一条记录

    千次阅读 2018-01-16 10:07:10
    select 查询内容 from ( select row_number() over(partition by 分组字段 order by 排序字段) as rn , 查询字a,查询字段b.. from 表1,表2 where 条件 ) where rn = 1 ; select 查询内容 from ...
  • oracle 前N条记录

    千次阅读 2017-02-07 15:44:34
    1.oracle 前10条记录  1) select * from tbname where rownum  2) select * from (select * from tbname order by id desc ) where rownum   下面是关于rownum的介绍 ==========================...
  • Oracle 根据时间 查询最新一条记录

    万次阅读 2019-02-19 13:53:53
    模板 select * from (select A from TABLE order by TIME desc) where rownum = ...查询最新一条FROM_ID记录 select * from (select form_id from formid where user_id = '28be9d85d0764c518ca074832fbad1b6...
  • oracle过滤某个字段重复记录,只获取一条记录 一,首先想到: 1,关键字distinct 2,group by 3,MAX,MIN这样的函数被称为聚集函数,和GROUP搭配起来用 但均无法实现,执行结果如下 举例: 表名:...
  • Oracle 前10条记录

    2013-10-21 10:47:26
    转载自:... 1.oracle 前10条记录  1) select * from tbname where rownum  2) select * from (select * from tbname order by id desc ) where rownum   下面是关于r
  • 我这上面一段sql,查询的是一个一对多的关系,多方最新一条数据,现在我HISTORY表里有2万条数据,最后查询出来的少了几千条,也就是说 我多方那个表里面没有记录,它不了,然后就不显示吗?不应该有一条空数据...
  • 利用oracle提供的lead、lag  ...求id=ae2e829ecffd4715a5c163f829c2e0f5的上一条记录和下一条记录一条记录的sql如下: select * from t_company_apply where  id=(select c.p from (select id,lead(id,1,
  • 今天正还有同学问了一个问题,怎么把两条不同的记录合并成一条记录从数据库里面拿出来,oracle数据库。 拿到之后首先想的是,分两条sql语句去查,然后在程序里做拼接。经过沟通发现,同学的需求不是这个样子的,是...
  • oracle 前10条记录

    2018-06-29 17:30:00
    --oracle取前十条数据 --(1)第种 select * from t_base_employee where rownum < 11; --(2)第二种 select * from (select * from t_base_employee t order by t.modify_time desc) where rownum <...
  • Oracle:查询各组最新一条记录

    千次阅读 2018-12-16 22:19:10
    oracle中怎么查询各组中最新一条记录呢?比如说现在有一个表中几条数据如下: 有两种写法: 写法一:over partition by 分析函数 SELECT * FROM (select ID_,COMPANY_NAME,USAGE_RATE,DETECTION_RATE,ACCEPTABILITY_...
  • 最近项目中的一条sql语句涉及到一个表中相同工单编码中最新一条数据,在网上看到一函数完美解决此问题,如下是内容要点: 问题:在项目中有一张设备检测信息表DEVICE_INFO_TBL, 每个设备每天都会产生一条检测...
  • 今天突然客户提出一个需求,要查一下APP所有客户的最近一次登录记录,因为数据库使用的是oracle有点懵逼,首先分析了一下需求,按用户id分组,按登录时间降序,然后每个分组的第一条记录就可以搞定了。经过一顿...
  •   SELECT * FROM 表1 t1 JOIN (SELECT *, ROW_NUMBER() OVER(PARTITION BY 单据ID ORDER BY 处理...如此,每个分组内的rn都是该'who'的列号,当关联查询rn=1的时候,则可以取出第一条最新一条的数据。
  • Oracle左连接返回多条记录中一条记录的查询语句,更具指定条件分组排序,返回各组中第一条记录
  • 比如下面这张表,我要取出每个产品index最大的记录,SQL应该怎么写? index最小的呢?谢谢 [img=https://img-bbs.csdn.net/upload/202002/28/1582884221_313578.jpg][/img]

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 107,299
精华内容 42,919
关键字:

oracle取最新一条记录