精华内容
下载资源
问答
  • oracle 获取一条数据

    千次阅读 2014-05-20 16:55:52
    SELECT * FROM ( SELECT PI.INDEXCODE FROM PLA_WARNING_CONFIG PWC LEFT JOIN PLA_INDEXCONTENT PI ON PWC.PCONID = PI.PCONID WHERE PI.Planid = '0E4K0NVI1P01001B' AND INDEXCODE ) WHERE ROWNUM

    SELECT * FROM (
    SELECT PI.INDEXCODE  FROM PLA_WARNING_CONFIG PWC  LEFT JOIN PLA_INDEXCONTENT PI    ON PWC.PCONID = PI.PCONID WHERE PI.Planid = '0E4K0NVI1P01001B'   AND INDEXCODE < '06' )  WHERE ROWNUM < 2
    展开全文
  • oracle取最新一条数据

    万次阅读 2019-05-20 17:53:40
    最近在做一个项目,数据库就是用的oracle,正好有个获取最新一条数据的需求。 在网上参考了他人的sql,放在自己这儿就是不行。下边是他们的sql SELECT * FROM ( SELECT *,ROWNUM rn FROM t ORDER BY date_col DESC ...

    好几年没用过oracle了,都忘记了。
    最近在做一个项目,数据库就是用的oracle,正好有个获取最新一条数据的需求。
    在网上参考了他人的sql,放在自己这儿就是不行。下边是他们的sql

    SELECT * FROM (
    	SELECT *,ROWNUM rn FROM t ORDER BY date_col DESC
    ) WHERE rn = 1
    

    刚开始放到自己的库里是会报错的"FROM keyword not found where expected"

    SELECT * FROM (
    	SELECT t.*,ROWNUM rn FROM table t ORDER BY t.date DESC
    )  t1
    WHERE t.rn = 1
    

    这样改完之后,sql正确了,但是取出来的数据跟下边这条sql是一样的。

    	SELECT t.*  FROM table t WHERE ROWNUM = 1
    

    后来想到了把ROWNUM重新排序,也就是先排序,再通过ROWNUM来取第一条。成功

    SELECT 
    	t1.*, ROWNUM 
    FROM(
    	SELECT * FROM table t ORDER BY date DESC
    ) t1
    WHERE rownum = 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

     

    展开全文
  • 怎么计算Oracle的表一条记录占用空间的大小
    如何计算Oracle的表一条记录占用空间的大小
    如何计算Oracle的表记录占用空间的大小
    是把所有字段的大小都加起来吗?varchar(256),char,number算几个字节?

    ------解决方案--------------------
    第一行的列头信息所占字节数,再加上各个字段所占的字节数据,加起来是多少就是多少
    列头信息记录每个字段的数据类型

    ------解决方案--------------------
    1,你可以对表进行分析,然后在user_tables中可以看到平均的行长度(每条记录长度都不同);
    2,你可以将表的某个数据库转储出去,自己看一下好了^_^。 
    ------解决方案--------------------
    有各种比较复杂的情况,计算data block是比较可靠的.

    刷新一下统计信息,然后统计某个统计表即可。

    select table_name,blocks*8192/1024/1024 size_m from user_tables

    展开全文
  • oracle针对多数据取最新一条的sql

    千次阅读 2020-10-29 14:36:54
    在针对某个类型数据存在多条时,但只想取最新的一条。在可以确定时哪种类型时我们使用简单sql就可以解决。 如: select * from ( select * from t_table a where a.tpye=? order by a.time desc ) where rownum=1;...
  • 1.单表查询,多条重复记录一条 select * from ( select row_number() over(partition by 重复字段 order by 时间字段 倒序还是顺序) a1, a2.字段1,a2.字段2 from 表 a2 where 1=1 查询条件 )where a1 =...
  • Oracle数据库插入一条数据

    千次阅读 2014-05-05 16:44:54
    这几天搞了一下Oracle数据库,可能用sql server...向Oracle服务器插入一条数据 --不管什么格式通通用''引号引起来。不过INTEGER格式的还是别用引号 insert into T_SITE VALUES( 8, --注意主键别与表里的其他主键冲
  • 电表,大家都知道电表读数并不是真正的耗电量,真正耗电量=此次读数-上次读数 电表设计如下: SQL语句如下,使用Oracle的FIRST_VALUE()和LAST_VALUE()函数实现: SELECT DISTINCT LAST_VALUE (E_VALUE) ...
  • oracle 数据重复,一条

    千次阅读 2017-10-17 17:53:15
    oracle中重复记录取其中一条 select * from table1 where rowid=any(select max(rowid) from table1 group by field1) 或者 select * from table1 where rowid in (select max(rowid) from table1 group ...
  • oracle里设置查询一条记录

    千次阅读 2015-03-20 14:02:12
    某天看到《MySQL性能优化的最佳20+条经验》这里的介绍里就有一条说的是当查询结果只有一条的时候,mysql SQL最后加上“limit 1”关键字。 然后,现在改成Oracle的话,那就在where条件里加 "rownum=1"就好了。 ...
  • Oracle删除冗余数据,保留一条

    千次阅读 2017-05-26 16:39:43
    今天去面试,面试官提了一个问题,删除oracle中的冗余数据,保留id最小的一条。当时没有想明白,回来认真想了一下,总算有了点思路,现将sql贴出来,欢迎大家批评指正。 假设有这样一个表city表,表中有两个字段,...
  • Oracle中查询第一条和最后一条数据

    千次阅读 2019-06-14 11:58:48
    1.Oracle中查询数据库表的第一条数据 SELECT * FROM (SELECT * FROM "user" ORDER BY "id") WHERE ROWNUM = 1 2.Oracle中查询数据库表的最后一条数据 SELECT * FROM (SELECT * FROM "user" ORDER BY "id" DESC)...
  • 结合order by和rownum来做: --第一条 select * from bdatag_tag order by tag_id where rownum = 1; --最后一条 select * from bdatag_tag order by tag_id desc where rownum = 1;
  • ![图片说明](https://img-ask.csdn.net/upload/201912/04/1575432184_434821.png) 这样的查询,我只要一条记录,请问该怎么写呢?
  • 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 二、...
  • Oracle随机取一条数据

    千次阅读 2018-03-19 22:36:31
    select * from (select * from 表名 order by dbms_random.value) where rownum
  • Oracle数据重复,一条

    千次阅读 2018-12-01 10:29:00
    --方法 select * from tb_supply where rowid=any(select max(rowid) from tb_supply group by phone_id) --方法二 select * from tb_supply where rowid in (select max(rowid) from tb_supply group by phone...
  • oracle数据库,情景:表(客户-业务员)中数据都不完全重复,但是可能多数据其中某些字段重复。我想要取得表中符合条件的记录,但是这些记录中的客户id和客户名称发生重复的话只能留个。 如上图我想找出“冯...
  • 函数来查询已有记录的上一条、下一条记录。 求id=ae2e829ecffd4715a5c163f829c2e0f5的上一条记录和下一条记录 上一条记录的sql如下: select * from t_company_apply where  id=(select c.p from (select id...
  • oracle一次插入多数据(insert all)

    万次阅读 多人点赞 2018-04-19 15:43:24
    每次循环,都会查询一次sequence,然后insert一条数据,性能非常低。 改进 改成一次插入多条数据,id通过触发器自动设置,不再每次先查询sequence,效率提高非常多。 oracle一次插入多条的方法 在oracle...
  • oracle 数据库插入一条数据,某字段如何自动递增1,oracle 数据库插入一条数据,某字段如何自动递增1,在线等。急急急。求大指点
  • Oracle查询重复数据并删除,保留一条记录     前言   项目中,在“资源目录-在线编目”中,资源项子表存在多条重发数据,需要进行数据清理,删除重发的数据,最终保留一条相同的数据。   操作的表名:R_...
  • 今天正还有同学问了一个问题,怎么把两条不同的记录合并成一条记录从数据库里面出来,oracle数据库。 到之后首先想的是,分两条sql语句去查,然后在程序里做拼接。经过沟通发现,同学的需求不是这个样子的,是...
  • 多条重复记录中一条时间最近的记录 select aa.forecast_no, t1.wgt jz, t1.sj zl_sj, t2.wgt mz, t3.wgt pz  from Table1 aa  left outer join (select a.*  from Table2 a
  • Oracle表中重复记录显示一条

    千次阅读 2012-07-28 18:03:38
    1.Oracle某个表中有重复记录,想重复记录显示一条。 表中内容如下: ID Name score 1  zs 40.00 1 zs 40.00 1 zs 40.00 2 ls 80.00 2 ls 80.00 3 ww 90.00
  • Oracle 分组排序取第一条

    千次阅读 2017-06-15 16:15:16
    Oracle 分组排序取第一条
  • Oracle中导出一条记录的SQL

    千次阅读 2016-07-03 14:19:35
    一:选中一条记录
  • Oracle_获取最新一条记录

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

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 295,027
精华内容 118,010
关键字:

oracle只拿一条