分析函数用法及窗口子句 range/rows差别
分析函数的语法结构一般是:分析函数名(参数) OVER (PARTITION BY子句 ORDER BY子句 ROWS/RANGE子句)。即由以下三部分组成:分析函数名:如sum、max、min、count、avg等聚集函数以及lead、lag行比较函数等;over: 关键字,表示前面的函数是分析函数,不是普通的集合函数;分析子句:ove...
outer join新旧语法分析
从Oracle9i开始,对于外连接(Outer join)Oracle支持SQL92标准:这个标准有很多新的连接语法。外连接的新语法有left outer join和rigth outer join以及full outer join,旧语法外连接使用+号,另外,旧语法无法实现full outer join,只能用union all来代替。Oracle也强烈建议9i以及之后的版本使用新的外连接语法。outer jo...
通过spid,查找执行慢的sql脚本
通过top命令,可查看占用cpu资源极高的进程,得到spid,通过以下sql ,可查找此进程执行的具体sql点击(此处)折叠或打开SQL> edit已写入 file afiedt.buf 1 select 2 sql_text...
sqlplus格式化输出(输出结果显示在同一行)
在sqlplus执行sql时,经常碰到显示结果,跨行输出,致使可读性很差,看起来特别乱。可通过set linesize及column命令进行调整。set linesize 设置sqlplus输出的最大行宽column 这个命令很好用,可使用此命修改显示字段的长度或名称,如: column c1 format a20 &...
oracle行列转换-字符串转换成多列
有表t_col_str,数据如下:点击(此处)折叠或打开SQL> select * from t_str_col; ID C123---------- -------------------- &nb...
oracle行列转换-多行转换成字符串
建表语句及初始化数据脚本如下:点击(此处)折叠或打开SQL> create table t_row_str( 2 id int, 3 col varchar2(10));表已创建。SQL> insert into t_row_str values(1,\'a\');...
oracle行列转换-多列转换成字符串
多列转换字符串可用||或concat函数。表数据如下:点击(此处)折叠或打开SQL> select * from t_col_row; ID C1 C2 C3---------- ---------- ---------- ----------...
oracle行列转换-行转列
接上篇文章。建表语句如下:点击(此处)折叠或打开SQL> create table t_row_col as 2 select id,\'c1\' cn,c1 cv from t_col_row 3 union all 4 select id,\'c2\' cn,c2 cv from t_col_row...
oracle行列转换-列转行
在itpub论坛看到一则贴子,行列转换总结,写的很全面。现将我的测试结果复上来,留着日后参考。附上测试脚本,有表及表中数据如下点击(此处)折叠或打开SQL> create table t_col_row( 2 id int, 3 c1 varchar2(10), &nbs...
start with connect by 用法
Oracle中的select语句可以用start with...connect by prior子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是:select ... from <TableName>where <Conditional-1>start with <Conditional-2>connect by <Conditional-3>;<Conditional-1>:过滤条件,用于对返回的所有记录进行过滤。<Conditional...