随笔分类 - Oracle.繁难Sql文
摘要:任务叫Task,任务可运行多次,一次运行叫做一批batch,一批可分为多个子执行,每个执行称为Execution。
一个批次Batch里所有的执行Execution都成功,才认为batch成功,否则认为其失败。
需求是:书写SQL,将每个任务运行了多少次,成功几次,失败几次统计出来。像下面这样:
ID NAME RUN_CNT SUCC_CNT FAIL_CNT
-------------------- ---------- ---------- ---------- ----------
1 飞鹰行动 4 1 3
2 警察任务 2 0 2
3 锄奸行动 1 1 0
阅读全文
摘要:有这么一张部门表: create table dept( id number(3), name nvarchar2(20), primary key(id) ); 可以这样给它充值: insert into dept(id,name) values(1,'市场部'); insert into dep
阅读全文
摘要:重复的DNA序列所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。 编写一个函数来查找 DNA 分子中所有出现超过一次的 10 个字母长的序列(子串)。 示例: 输入:s = "AA
阅读全文
摘要:坐地铁回家路上忽然想起,三甲排名可能为多个,只取三名岂不荒谬。不信请看下面数据: create table tb_score( id number(4,0) primary key, name nvarchar2(20) not null, score integer not null) inser
阅读全文
摘要:在前作 https://www.cnblogs.com/xiandedanteng/p/12735898.html中,我们可以用Java程序制成三角序列. 1, 2,2, 3,3,3, 4,4,4,4, 5,5,5,5,5, 6,6,6,6,6,6, 7,7,7,7,7,7,7, 8,8,8,8,8
阅读全文
摘要:在前作 https://www.cnblogs.com/xiandedanteng/p/12713057.html 里,探讨了相同字符串前缀出现次数最多的问题,其实这是求多字符串子串问题的特例。 本篇准备直接解决求多字符串共同子串的问题,不管子串是出现在开头抑或中间还是结尾: 这批字符串存储在表tb
阅读全文
摘要:表结构: create table hy_product( id number(9,0) primary key, name nvarchar2(20) not null, price integer not null); 数据: insert into hy_product(id,name,pri
阅读全文
摘要:--期盼值 找出AA,3;PDST,3;QPL-,3;TP-,2; --基本表 create table tb_product( id number(9,0) primary key, name nvarchar2(20) not null); --基本表充值 insert into tb_prod
阅读全文
摘要:建表及充值: create table hy_emp( id number(9,0) primary key, name nvarchar2(20) not null, salary integer not null); insert into hy_emp select rownum,dbms_r
阅读全文
摘要:在 https://www.cnblogs.com/xiandedanteng/p/12677688.html 中我列举了三种求中值方案,其中日本人MICK的做法因为不适用于二百万结果集而放弃,取而代之是新方案一。 新方案一: 经过思考后我又得出了一种中值的新解法,那就是利用排序后正向序列和反向序列
阅读全文
摘要:解法1:这是日本人MICK在其著作《SQL进阶教程》里提出的方法: select avg(distinct salary) from ( select t1.salary from tb_employee t1,tb_employee t2 group by t1.salary having sum
阅读全文
摘要:我在 https://www.cnblogs.com/xiandedanteng/p/12637767.html 里谈到过两种中位数求法,我又找出了一种新的中位数求法,核心解法仍是正序和逆序序列。 如果存在奇数个元素,观察其seq,revseq和ceil三值,你将发现中值就是seq等于ceil那条,
阅读全文
摘要:除了平均数外,众数和中位数也是衡量集合的标尺之一,中位数是将集合升序排列后恰好位于正中间的元素,如果集合总数为偶数,则取中间两个元素的平均值作为中位数,下文将就用SQL去求中位数展开讨论。 首先建表: create table tb_coder( id number(4,0) not null pr
阅读全文
摘要:此例源自美团的一道SQL面试题 支付表结构: create table hy_payment( id number(4,0) primary key, pay number(3,0) not null) 可以这样给它充值: insert into hy_payment(id,pay) values(
阅读全文
摘要:有一个团队里,一个人需要所有人握手,第二个人需要和除第一个人之外的所有人握手,第三个人需要和第一第二之外的所有人握手,以此类推... 下面将用SQL语句来模拟这一过程。 表结构如下: create table hy_emp( id number(4,0) not null primary key,
阅读全文
摘要:有一个供应商表结构如下: create table tb_vender( id number(4,0) not null primary key, vendername nvarchar2(20) not null, part nvarchar2(20) not null) 充值数据: insert
阅读全文
摘要:本问题由:https://bbs.csdn.net/topics/392280779?page=1#post-411115296 而引发。 现有一个tb_sqsts表,其结构是: create table tb_sqsts( id number(4,0) not null primary key,
阅读全文
摘要:此文章是 https://www.cnblogs.com/xiandedanteng/p/12525063.html 一文的后续,解决问题的关键还是在于basicdate,基本上把上一篇看懂了,这一篇也就很快懂了。 建表: create table hy_login_flow( id number(
阅读全文
摘要:有一个用户登录流水表结构如下: create table hy_login_flow( id number(4,0) not null primary key, name nvarchar2(20) not null, logindate date not null) 这样给它充值: insert
阅读全文
摘要:在拙文 https://www.cnblogs.com/xiandedanteng/p/12327809.html 中,我提到过求学生单科最新成绩的四种sql语句,它们是下面四种: --Rank-- select * from (select tb_scoreflow.*,rank() over(p
阅读全文