首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SQL 获取定长连续子序列

    有一张表 savior,它的表结构及数据如下: CREATE TABLE `savior` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `status...0 11 0 12 1 13 1 14 0 15 0 savior 表有两个字段...要求:从 savior 表中获取状态为 0 的 id,并且这些 id 能够组成长度为 3 的连续子序列。 比如,id = 3、4、5 的数据,它们的状态为 0,且它们构成的序列长度正好为 3。...最终期望能获取的结果: subseq -------- 3~5 7~9 8~10 9~11 在历史的文章里有提到过判断连续子序列的方法,就是根据目标字段的排序规则生成序号...由于我们只要获取长度为 3 的子序列,根据判断连续子序列的规则,反过来说,如果一组数据是连续子序列,那么目标字段和它对应的序号分别加上固定的值,目标字段得到的结果和新序号的差值仍和做加法操作前保持一致。

    1.1K10

    Oracle应用实战三——表+序列

    1. delete删除的数据可以rollback,也可以闪回 2. delete删除可能产生碎片,并且不释放空间 3. truncate是先摧毁表结构,再重构表结构 序列 在很多数据库中都存在一个自动增长的列...,如果现在要想在oracle 中完成自动增长的功能, 则只能依靠序列完成,所有的自动增长操作,需要用户手工完成处理。...范例:创建一个seqpersonid的序列,验证自动增长的操作 CREATE SEQUENCE seqpersonid; 序列创建完成之后,所有的自动增长应该由用户自己处理,所以在序列中 提供了以下的两种操作...: nextval :取得序列的下一个内容 currval :取得序列的当前内容 select seqpersonid.nextval from dual; select seqpersonid.currval...在实际项目中每一张表会配一个序列,但是表和序列是没有必然的联系的,一个序列被哪一张表使用都可以,但是我们一般都是一张表用一个序列。 序列的管理一般使用工具来管理。

    94940

    获取Oracle表的分析时间

    上节讲到如何建立一个Oracle命令的界面,并显示数据库文件的创建时间,这节讲如何查看指定表的分析时间 我们在日常SQL优化的过程中,肯定要知道表的统计信息是否正确,而这个功能的话就能简化这个操作...首先获取到表单中的数据,如 ipaddress,tnsname以及执行的命令 2. 然后通过ipaddress,tnsname从oraclelist数据库中查找获得用户名密码用于连接 3....则从输入文本中获取想要查询的表名并连接起来 5. 然后执行函数获取分析时间,这里的getanalyzedtime函数获取Oracle表的分析时间,详情看具体代码 6....最后把页面的标题以及表格的数据放到dic变量中传到 oracle_command_result_5.html模板文件中 ---- getanalyzedtime函数 这里我们引用getanalyzedtime函数来获取...源码地址 源码请查看我的GitHub主页 https://github.com/bsbforever/wechat_monitor ---- 下期将介绍如何如何通过Django获取Oracle数据库段的大小

    1.3K20
    领券