(case when instr(sample_num,'R')>0 then 1 else 0 end) R_flag
分析函数,行列转换【原博客链接:http://blog.csdn.net/herohuaxu/article/details/5816111】
Create Table temp
(
num varchar2(15 Char),
name varchar2(20 Char),
sex varchar2(2 Char),
classes varchar2(30 Char),
course_name varchar2(50 Char)
);
------------------------------------------------------------------------------------------------------------------------
insert into temp(num,name,sex,classes,course_name) values ('206211','王艺','男','06-1班','保险学');
insert into temp(num,name,sex,classes,course_name) values ('206212','肖薇','女','06-2','保险学');
insert into temp(num,name,sex,classes,course_name) values ('206212','肖薇','女','06-2','财务管理');
insert into temp(num,name,sex,classes,course_name) values ('206212','肖薇','女','06-2','财务会计');
insert into temp(num,name,sex,classes,course_name) values ('206213','陈雅诗','女','06-2','电子商务');
insert into temp(num,name,sex,classes,course_name) values ('206213','陈雅诗','女','06-2','公共经济学');
insert into temp(num,name,sex,classes,course_name) values ('206213','陈雅诗','女','06-2','公司理财');
insert into temp(num,name,sex,classes,course_name) values ('206213','陈雅诗','女','06-2','管理学原理');
insert into temp(num,name,sex,classes,course_name) values ('206213','陈雅诗','女','06-2','保险学');
insert into temp(num,name,sex,classes,course_name) values ('206214','李丹阳','男','06-1','保险学');
insert into temp(num,name,sex,classes,course_name) values ('206214','李丹阳','男','06-1','财务管理');
insert into temp(num,name,sex,classes,course_name) values ('206214','李丹阳','男','06-1','财务会计');
insert into temp(num,name,sex,classes,course_name) values ('206214','李丹阳','男','06-1','电子商务');
insert into temp(num,name,sex,classes,course_name) values ('206214','李丹阳','男','06-1','公共经济学');
insert into temp(num,name,sex,classes,course_name) values ('206215','杨伊琳','女','06-3班','环境管理学');
insert into temp(num,name,sex,classes,course_name) values ('206215','杨伊琳','女','06-3班','管理学原理');
insert into temp(num,name,sex,classes,course_name) values ('206215','杨伊琳','女','06-3班','商务谈判');
insert into temp(num,name,sex,classes,course_name) values ('206216','李佳琪','男','06-2','土地估计');
------------------------------------------------------------------------------------------------------------------------
select max(count(course_name))
from temp
group by num,name,sex,classes;
------------------------------------------------------------------------------------------------------------------------
select num,name,sex,classes,course_name,
row_number() over(partition by num,name,sex,classes order by course_name) rn
from temp;
------------------------------------------------------------------------------------------------------------------------
select num,name,sex,classes,
max(decode(rn,1,course_name,null)) course_name_1,
max(decode(rn,2,course_name,null)) course_name_2,
max(decode(rn,3,course_name,null)) course_name_3,
max(decode(rn,4,course_name,null)) course_name_4,
max(decode(rn,5,course_name,null)) course_name_5
from (select num,name,sex,classes,course_name,
row_number() over(partition by num,name,sex,classes order by course_name) rn
from temp)
group by num,name,sex,classes;
------------------------------------------------------------------------------------------------------------------------
select num,name,sex,classes,
(max(decode(rn,1,course_name,null)) || max(decode(rn,2,',' || course_name,null)) || max(decode(rn,3,',' || course_name,null)) || max(decode(rn,4,',' || course_name,null)) ||
max(decode(rn,5,',' || course_name,null))) name
from (select num,name,sex,classes,course_name,
row_number() over(partition by num,name,sex,classes order by course_name) rn
from temp)
group by num,name,sex,classes;
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
单表--- 树形结构 ----递归查询
select t.id,t.name,t.father_id,level from t_ikang_examination_type t
connect by prior t.id = t.father_id
start with t.father_id ='1'
---- 产前 ('a') ---- start 菜单 C7FB96A948A81B77E040A8C057E060D7
update t_user_resource s set s.business_ids='''a''' where s.id in
(select res1.id from t_user_resource res1 connect by prior res1.id = res1.father_id start with res1.id='D39E825FA76DFCDDE040A8C057E03EA2');
============================================================================
----------- 1:阴性 2 阳性 -1 处理失败
------------------------------------------------------------------------------------------------------
select C.sample_inspectarea,(C.failed+C.negative+C.positive+C.no_result) TOTAL,C.NEGATIVE NEGATIVE,C.FAILED FAILED,C.POSITIVE POSITIVE,
P_COMMON.F_GET_INTEGER(to_char(((C.POSITIVE)/(C.failed+C.negative+C.positive+C.no_result))*100,'fm9999999990.99999')||'%')POSI_PERCENT
from (
select sample_inspectarea,
SUM(DECODE (positive_nagative_flag,'-1',nums,0)) FAILED,
SUM(DECODE (positive_nagative_flag,'1',nums,0)) NEGATIVE,
SUM(DECODE (positive_nagative_flag,'2',nums,0)) POSITIVE,
SUM(DECODE (positive_nagative_flag,'0',nums,0)) NO_RESULT
from
(
select s.sample_inspectarea,s.positive_nagative_flag,sum(s.nums) Nums from mv_hpv_data_report s
where sample_inspectarea is not null -- and ||'---'
group by s.sample_inspectarea,s.positive_nagative_flag order by s.sample_inspectarea
)
group by sample_inspectarea
) C order by C.sample_inspectarea ;
-----------------------------------------------------------------------------------
------------------------------------------------------------------------------------
创建会话级 【session】临时表:
create global temporary table hims_visit_report_temp(hospital_id varchar2(32)) on commit preserve rows
ORACLE根据外键找关联的表
select * from user_cons_columns cl where cl.constraint_name = 外键名称。
http://mrsad52.blog.163.com/blog/static/1721337982011101754649677/
相关推荐
### Oracle查询语句优化知识点详解 #### 一、概述 Oracle数据库因其强大的功能和灵活性,在企业级应用中占据着重要地位。随着业务的发展,数据库的数据量急剧增长,如何提高查询效率成为了亟需解决的问题之一。本文...
**Oracle SQL 暗示** 是一种特殊语法,用于向数据库优化器提供有关如何处理特定 SQL 语句的指导性建议。这些暗示可以用来控制执行计划,从而改善查询性能或解决优化器选择错误的问题。暗示分为多种类型,包括但不...
根据提供的文件信息,我们可以深入探讨Oracle数据库中的SELECT语句及其用法。在Oracle数据库中,SELECT语句是最常用的SQL查询语言之一,用于从一个或多个表中检索数据。本篇文章将详细解析两个示例中的SELECT语句,...
- `ROWNUM`是Oracle提供的一种特殊变量,用于标记查询结果集中的行号。 - `ROWNUM`的值从1开始递增。 - 在没有特别指定的情况下,`ROWNUM`会自动计算查询结果中的每一行位置。 - **使用ROWNUM实现分页**: - ...
- **通过ROWID访问表**:ROWID是Oracle的一种特殊类型的键,用于存储记录的物理地址。通过索引访问ROWID,可以极大地提高访问表的速度,尤其是当查询涉及到索引列时。 #### 三、共享SQL语句 为了提高SQL执行的效率...
根据提供的文档信息,本文将对《ORACLE SQL 语句(典型应用总结)》中的关键知识点进行详细解读与总结。 ### 第一章 基本SELECT语句 #### 1. SQL语法要求 在Oracle中编写SQL语句时,需要注意以下几点: - **大小写...
### 超酷30个Oracle语句优化规则详解 #### 一、选用适合的Oracle优化器 在Oracle数据库中,优化器的选择对于查询性能至关重要。Oracle提供了三种优化器模式来帮助用户根据实际情况选择最合适的执行计划: 1. **...
### Oracle SQL语句优化规则详解 #### 一、选择正确的优化器 在Oracle数据库中,SQL语句的执行效率很大程度上取决于所选的优化器。Oracle提供了三种优化器模式: 1. **基于规则的优化器(RULE)**:这是Oracle...
### Oracle SQL语句优化策略详解 #### 操作符优化概览 在Oracle数据库环境中,SQL语句的优化是提升查询效率、减少系统资源消耗的关键环节。通过对特定操作符的合理运用,可以显著改善数据检索的速度与准确性。本文...
根据提供的文件信息,我们可以深入探讨Oracle数据库中的更新(UPDATE)语句的相关知识点。在数据库管理中,更新操作是一项非常基础且重要的功能,它允许用户修改已存在的数据记录。接下来,我们将详细讨论Oracle更新...
### Oracle SQL语句详解 #### 一、SQL规范与注释 在Oracle SQL中,注释主要用于添加说明性文本,帮助理解SQL脚本的目的和功能。注释有两种基本形式: - **单行注释**:使用`--`,之后的所有内容被视为注释,直到...
#### 五、Oracle特殊语句 - **查询所有表名**: 相当于MySQL中的 `SHOW TABLES;` - **SELECT语句执行顺序**: 先执行 `WHERE` 子句,然后是 `GROUP BY` 和 `HAVING` 子句,最后是 `ORDER BY` 子句。 - **修改管理员...
- **DUAL** 是 Oracle 系统自带的一个特殊表,通常用于测试和演示 SQL 语法。 - **示例:** - `SELECT * FROM DUAL`: 查询 DUAL 表中的所有列,由于 DUAL 表中没有数据,此操作主要用于返回单行记录。 - **知识...
### ORACLE UPDATE 语句语法与性能分析 #### 引言 在数据库管理与操作中,`UPDATE`语句是SQL语言中极为重要的组成部分,它允许我们修改已存在的记录,从而保持数据的时效性和准确性。Oracle数据库作为企业级应用中...
**Hint**是一种特殊的注释,可以指导Oracle优化器在解析SQL语句时采取特定的执行策略或计划。通过这种方式,开发者可以在一定程度上控制优化器的行为,以达到预期的性能目标。 #### 二、常见Oracle Hint及其用法 ...
### Oracle SQL语句方法详解 在Oracle数据库管理与开发中,SQL(Structured Query Language)作为标准的数据查询语言,被广泛应用于数据检索、更新、管理等操作。为了优化查询性能,Oracle提供了多种SQL提示(Hints...
### Oracle SQL语句分页问题详解 #### 一、引言 在数据库查询操作中,分页是一项常用且重要的功能,特别是在数据量较大的情况下。它能够有效地提高用户体验,并减轻服务器负担。本文将针对Oracle数据库中的SQL分页...
触发器是一种特殊的存储过程,会在特定的数据库事件(如INSERT、UPDATE、DELETE)发生时自动执行。它们是实现业务规则和约束的有效手段。 十、游标 游标用于处理SQL查询结果集,允许逐行访问和操作数据。在PL/SQL中...
### Oracle SQL语句大全知识点详解 #### 一、表结构描述 - **1. `DESC 表名`**: 用于查看表的结构信息,包括字段名称、数据类型等。 - 示例:`DESC EMP`,展示`EMP`表的结构。 - **2. `DESC 部门表`**: 查看`部门...