ORACLE-SQL(二)
CreateTime--2017年6月1日14:36:37
Author:Marydon
一、SQL语句
(二)提升篇
1.2.3 分页,分组,计数,排序
/**
* 返回数据
* FORGID 医疗机构ID
* FRCODE 县区编码
* FORGNAME 医疗机构名称
* FCENNAME_TEM_COUNT 名称不对称计数
* ISNULLCENCODE_COUNT 未对照计数
* TOTALCOUNT L_DIAITEM_ERROR表中共有多少条数据
*/
SELECT T3.*
FROM (SELECT T2.*, ROWNUM ROWNO
FROM (SELECT T.FORGID,
T1.FRCODE,
T1.FORGNAME,
SUM(NVL(T.NCCW, 0)) FCENNAME_TEM_COUNT,
SUM(NVL(T.WDZ, 0)) ISNULLCENCODE_COUNT,
TOTALCOUNT
FROM L_DIAITEM_ERROR T, TORGANIZATION T1
WHERE T.FORGID = T1.FORGID
GROUP BY T.FORGID, T1.FORGNAME, T1.FORGSEQ, T1.FRCODE
ORDER BY T1.FORGSEQ) T2
WHERE ROWNUM <= V_END) T3
WHERE T3.ROWNO >= V_START;
注意:
a.TOTALCOUNT是已存在的一个变量,这里不作为关注重点;
b.被group by的数据,要想查询表中的某个字段,有且只有两种方式:
方式一:
在group by 后面加上想要查询出来的字段
方式二:
对于数字列,使用求和函数sum()实现查询
否则,会报错:不是group by 表达式
CreateTime--2017年1月20日17:19:04
1.2.4 不同数据库间建立连接
情景:一个库访问另一个库的某张表
UpdateTime--2017年7月17日16:02:26
1.2.7 将查询的计数结果列转行
实例:对两表满足条件的数据进行计数,并横向展示查询结果
sql1:纵向展示(雏形)
SELECT COUNT(1) COUNTRESULT
FROM CONSULT_INFO T
WHERE T.CON_ORG_ID = ''
AND T.CONSULT_STATUS = 0
UNION ALL
SELECT COUNT(1) COUNTRESULT
FROM OUTPATIENT_CONSULT_INFO T2
WHERE T2.CON_ORG_ID = ''
AND T2.CONSULT_STATUS = 0
查询结果:

sql2:两行两列展示
SELECT COUNT(1) AS COUNTRESULT1, 0 AS COUNTRESULT2
FROM CONSULT_INFO T
WHERE T.CON_ORG_ID = ''
AND T.CONSULT_STATUS = 0
UNION ALL
SELECT 0 AS COUNTRESULT1, COUNT(1) AS COUNTRESULT2
FROM OUTPATIENT_CONSULT_INFO T2
WHERE T2.CON_ORG_ID = ''
AND T2.CONSULT_STATUS = 0
查询结果:

sql3:最终实现
SELECT SUM(COUNTRESULT1) COUNTRESULT1, SUM(COUNTRESULT2) COUNTRESULT2
FROM (SELECT COUNT(1) AS COUNTRESULT1, 0 AS COUNTRESULT2
FROM CONSULT_INFO T
WHERE T.CON_ORG_ID = ''
AND T.CONSULT_STATUS = 0
UNION ALL
SELECT 0 AS COUNTRESULT1, COUNT(1) AS COUNTRESULT2
FROM OUTPATIENT_CONSULT_INFO T2
WHERE T2.CON_ORG_ID = ''
AND T2.CONSULT_STATUS = 0)
查询结果:

相关推荐:
ORACLE-SQL(二)的更多相关文章
- 7.26实习培训日志-Oracle SQL(二)
Oracle SQL(二) 条件表达式 CASE 语句 或者DECODE 函数,两者均可实现 IF-THEN-ELSE 的逻辑,相比较而言,DECODE 更加简洁 SELECT last_name , ...
- Oracle sql语句执行顺序
sql语法的分析是从右到左 一.sql语句的执行步骤: 1)词法分析,词法分析阶段是编译过程的第一个阶段.这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构 ...
- Could not load oracle/sql/converter_xcharset/lx20354.glb.
一.错误描述: 此错误导致了web 服务器停止服务,应该属于“不能连接Oracle”的错误. 二.具体错误信息: 信息: Illegal access: this web application in ...
- Oracle SQL tuning 步骤
Oracle SQL tuning 步骤 SQL是的全称是Structured Query Language(结构化查询语言).SQL是一个在80年代中期被使用的工业标准数据库查询语言.不要把SQL语 ...
- 介绍几种大型的Oracle/SQL Server数据库免费版
我们知道,Oracle和SQL Server等大型数据库也都存在一些免费的版本,这些免费的版本已经能够满足许多中小项目的需求.对于在校大学生来说,从学习的目标上来讲,安装免费版的大型数据库也就足够用了 ...
- Oracle SQL 基本操作之 用户权限管理方法
Oracle SQL 基本操作之 用户权限管理方法 最近把有关用户操作和权限管理的东西整理了一下,虽然不少博客都有过类似的整理,但是自己发现他们的内容或多或少都有些错误.于是,本人亲自对每条语句进行 ...
- Oracle SQL 语言分类
Oracle SQL语句分类 2008-06-17 11:15:25 分类: Linux * 2008/06/17 星期二*蒙昭良*环境:WindowsXP + Oracle10gR2*Oracl ...
- Oracle SQL优化[转]
Oracle SQL优化 1. 选用适合的ORACLE优化器 ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的优化 ...
- Oracle SQL优化器简介
目录 一.Oracle的优化器 1.1 优化器简介 1.2 SQL执行过程 二.优化器优化方式 2.1 优化器的优化方式 2.2 基于规则的优化器 2.3 基于成本的优化器 三.优化器优化模式 3.1 ...
- Oracle SQL调优记录
目录 一.前言 二.注意点 三.Oracle执行计划 四.调优记录 @ 一.前言 本博客只记录工作中的一次oracle sql调优记录,因为数据量过多导致的查询缓慢,一方面是因为业务太过繁杂,关联了太 ...
随机推荐
- Maven学习-使用Nexus搭建Maven私服
为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到 ...
- C#线程安全的那些事
还是上一次,面试的时候提到了C#线程安全的问题,当时回答的记不太清了,大概就是多线程同是调用某一个函数时可能会照成数据发生混乱,运行到最后发现产生的结果或数据并不是自己想要的,或是跨线程调用属性或方法 ...
- 利用Jenkins实现JavaWeb项目的自动化部署
修改代码,打包,上传,重启... 大把的时间花费在这些重复无味的工作上.笔者与当前主流的价值观保持一致:我们应该把时间花费在更有意义的事情上.我们可以尝试借助一些工具,让这些重复机械的工作交给计算机去 ...
- 无法打开文件“atlsd.lib”
问题: vs2013编译c++代码,错误 15 error LNK1104: 无法打开文件“atlsd.lib” 解决: 在你电脑或者其他人电脑上搜索atlsd.lib,将其拷贝到D:\Program ...
- JQuery实战--能够编辑的表格
廊坊下雪了.15年的第二场雪.比14的来的稍晚一些.停靠在11教门前的自行车.成了廊坊师范学院最漂亮的风景线.还记得以前学习css的时候.就以前接触过怎样编写设计一些表格和表单的样式,比如怎样设计表格 ...
- 文件内容操作篇clearerr fclose fdopen feof fflush fgetc fgets fileno fopen fputc fputs fread freopen fseek ftell fwrite getc getchar gets
clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * stream); 函数说明 ...
- C语言:将结构体数组的成绩按照从小到大进行排序。
#include<stdio.h> typedef struct student { char *name; int sno; int age; float score; }Student ...
- Divide Two Integers leetcode java
题目: Divide two integers without using multiplication, division and mod operator. 题解: 这道题我自己没想出来...乘除 ...
- PowerDesigner导入SQL脚本
方法/步骤 打开PowerDesigner,鼠标单击File菜单: 选择:Reverse Enginer,然后在他的子菜单选择Database...; 选择好DBMS(数据库管理系统) ...
- Java基础(二):基本数据类型和变量类型
一.java基本数据类型: 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间.内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据. Java 的两 ...