使用lead分析功能相似的结构9*9乘法口诀功能

今天兄弟们的帮助,数据库,具有数据如下面的表:

no  name

1    a

2    b

3    c

4    d

怎样用一个sql显演示样例如以下结果:

ab

ac

ad

bc

bd

cd

对于这样的构造数据,是分析函数的强项。以下来做个试验:

create table t (no number,name varchar(2));

insert into t values(1,‘a‘);

insert into t values(2,‘b‘);

insert into t values(3,‘c‘);

insert into t values(4,‘d‘);

commit;

实现1:

select decode(h2, ‘‘, ‘‘, h1 || h2) b,

decode(h3, ‘‘, ‘‘, h1 || h3) c,

decode(h4, ‘‘, ‘‘, h1 || h4) d

from (select name h1,

lead(name, 1) over(order by name) h2,

lead(name, 2) over(order by name) h3,

lead(name, 3) over(order by name) h4

from t) ;

B    C    D

---- ---- ----

ab   ac   ad

bc   bd

cd

实现2:相对实现1对于行进行了转换

with tt as(

select name h1,

lead(name, 1) over(order by name) h2,

lead(name, 2) over(order by name) h3,

lead(name, 3) over(order by name) h4

from t

)

select * from (select decode(h2, ‘‘, ‘‘, h1 || h2) b from tt

union

select decode(h3, ‘‘, ‘‘, h1 || h3) c from tt

union

select decode(h4, ‘‘, ‘‘, h1 || h4) d from tt)

where b is not null;

B

----

ab

ac

ad

bc

bd

cd

实现3:也能够不用分析函数

select a.name || b.name from t a, t b where a.no < b.no;

附录,一句SQL实现9*9乘法口诀:

select r1 || ‘*‘ || r1 || ‘=‘ || r1 * r1 A,

decode(r2, ‘‘, ‘‘, r2 || ‘*‘ || r1 || ‘=‘ || r2 * r1) b,

decode(r3, ‘‘, ‘‘, r3 || ‘*‘ || r1 || ‘=‘ || r3 * r1) C,

decode(r4, ‘‘, ‘‘, r4 || ‘*‘ || r1 || ‘=‘ || r4 * r1) D,

decode(r5, ‘‘, ‘‘, r5 || ‘*‘ || r1 || ‘=‘ || r5 * r1) E,

decode(r6, ‘‘, ‘‘, r6 || ‘*‘ || r1 || ‘=‘ || r6 * r1) F,

decode(r7, ‘‘, ‘‘, r7 || ‘*‘ || r1 || ‘=‘ || r7 * r1) G,

decode(r8, ‘‘, ‘‘, r8 || ‘*‘ || r1 || ‘=‘ || r8 * r1) H,

decode(r9, ‘‘, ‘‘, r9 || ‘*‘ || r1 || ‘=‘ || r9 * r1) I

from (select level r1,

lag(level, 1) over(order by level) r2,

lag(level, 2) over(order by level) r3,

lag(level, 3) over(order by level) r4,

lag(level, 4) over(order by level) r5,

lag(level, 5) over(order by level) r6,

lag(level, 6) over(order by level) r7,

lag(level, 7) over(order by level) r8,

lag(level, 8) over(order by level) r9

from dual

connect by level < 10);

时间: 2024-08-28 04:45:09

使用lead分析功能相似的结构9*9乘法口诀功能的相关文章

用lead分析函数构造类似9*9乘法口诀的功能

[题目] 原文: 1.3 Design an algorithm and write code to remove the duplicate characters in a string without using any additional buffer. NOTE: One or two additional variables are fine. An extra copy of the array is not. FOLLOW UP Write the test cases for

MySQL系列:innodb源码分析之重做日志结构

在innodb的引擎实现中,为了实现事务的持久性,构建了重做日志系统.重做日志由两部分组成:内存日志缓冲区(redo log buffer)和重做日志文件.这样设计的目的显而易见,日志缓冲区是为了加快写日志的速度,而重做日志文件为日志数据提供持久化的作用.在innodb的重做日志系统中,为了更好实现日志的易恢复性.安全性和持久化性,引入了以下几个概念:LSN.log block.日志文件组.checkpoint和归档日志.以下我们分别一一来进行分析. 1.LSN 在innodb中的重做日志系统中

编程题:结构体数组的引用。功能:输出结构体数组各元素的成员值

编程题:结构体数组的引用.功能:输出结构体数组各元素的成员值 #include<stdio.h> void main() { struct person { char name[20]; char sex; int age; float height; }per[3]={{"Li Ping",'M',20,175},{"Wang Ling",'F',19,162.5}, {"Zhao Hui",'M',20,178}}; int i;

必应词典桌面版 --- 基于大学生用户群体的软件分析(与有道词典对比版 1功能篇)

1.概述 这篇博客会从大学生的角度来评测必应词典桌面版,以大学生的使用习惯来评判必应词典桌面版各项功能的优劣,并与同类软件进行横向分析,最终给出我们的评分.本次分析评测的主要评测员为博主本人,相关分析评测人员包括软件工程团队人员与他们的来自各个学校各个专业的同学们,人数共计23个,具有较好的普遍性. 2.软件分析与评测 本次评测我们会从功能.体验两大方面来对必应词典桌面版进行分析.必应词典版本:V3.5.0 for windows 桌面版     有道词典版本:PC版6.2 这篇博客是功能篇.

【知识强化】第五章 中央处理器 5.3 数据通路的功能和基本结构

下面我们进入第三节的学习,也就是数据通路的功能和基本结构.我们这一节呢主要讲解单总线它的这样的一个基本结构. 我们再来回顾一下我们之前都学了一些什么.我们在第一节中讲解了CPU的功能和结构,我们讲解了CPU具有五大功能,分别是指令控制.操作控制.时间控制.数据加工和中断处理.然后我们讲解了为了实现这些功能,我们需要哪些结构,于是我们讲解了运算器和控制器它的基本结构与它的内部的基本的组成部分.那么第二节呢我们讲解了指令的执行过程,首先我们给出了指令周期的概念,我们说一条指令它的执行呢可以分为不同的

功能更新 | medini analyze — 符合ISO 26262的功能安全平台工具

汽车电子电气系统的功能安全随着智能驾驶.新能源等新兴技术的发展而愈发受到重视.在国际功能安全标准ISO 26262的落地过程中遇到了很多的棘手问题:如何正确而有效地实施HARA以得到合适的安全目标?如何进行安全分析才能确保安全需求完整而充分?如何验证系统/软件/硬件设计方案的安全性?硬件指标的评估计算要如何开展?开发过程的追溯性.一致性.完整性如何保证? 功能介绍 medini analyze工具是专业的功能安全开发平台工具,符合ISO 26262开发全流程,功能覆盖ISO 26262要求的所有

Android解决WebView的定位功能、视频全屏播放、下载功能、页面Url的处理、进度条处理

解决WebView的定位功能.视频全屏播放.下载功能.页面Url的处理.进度条处理 事先说明: 定位功能在安卓6.0需要用户手动确认权限后才能使用 若需在安卓6.0适配WebView的定位功能,则需要在WebView中手动增加用户权限访问 详细可百度安卓6.0权限管理系统,或者采用第三方封装好的权限管理类进行编写(如Bmob) 如果对内容不理解的话,可参考最后的整个类的代码 如果对BaseActivity这个抽象类不理解的话,可以查看下面一篇文章对BaseActivity的介绍 步骤一:webv

Google面试题—有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推.........现在有四个文件ABCD

分类: windows编程 C++ 2012-10-27 19:56 3410人阅读 评论(1) 收藏 举报 有四个线程1.2.3.4.线程1的功能就是输出1,线程2的功能就是输出2,以此类推.........现在有四个文件ABCD.初始都为空.现要让四 个文件呈如下格式:A:1 2 3 4 1 2....B:2 3 4 1 2 3....C:3 4 1 2 3 4....D:4 1 2 3 4 1....请设计程序. [cpp] view plaincopy #include <stdio.h

InnoSQL HA Suite的实现原理与配置说明 InnoSQL的VSR功能Virtual Sync Replication MySQL 5.5版本引入了半同步复制(semi-sync replicaiton)的功能 MySQL 5.6支持了crash safe功能

InnoSQL HA Suite的实现原理与配置说明  InnoSQL的VSR功能Virtual Sync Replication MySQL 5.5版本引入了半同步复制(semi-sync replicaiton)的功能 MySQL 5.6支持了crash safe功能 http://www.innomysql.net/article/7403.html Virtual Sync Replication 搭建一个MySQL数据库的复制(replication)环境是相当简单的,这点是MySQL