select J.ZWJGH,J.CZZXBH,J.JZZT,J.CWNY,J.JZPZH sum(J.FSE)<!-- 聚合函数字段没在分组条件中--> from JZPZXX J <where> <if test="zwjgh != null">J.ZWJGH = #{zwjgh} </if> <if test="cwnydate != null">and J.CWNY = #{cwnydate}<…
一.分组函数1.avg:平均分2.sum:求和3.max:最大值4.min:最小值注意:前面四个必须针对数值字段,且参数只能是一个5.count:求个数 二.分组查询1.语法是 group by 分组字段1,分组字段2...2.分组后可以使用分组函数.3.分组函数不能和其他字段一起显示,除了分组字段.4.分组查询之后还要做条件限制的话,用having子句5.关键字的顺序:select ...from...where...group by...having...order by.... 三.子查询…
select flow_id,rw from (select t.flow_id ,rownum as rw from apex_030200.wwv_flow_list_templates t)  where rw >= 5 1.rownum只能用<如果使用>加别名 2.子查询引用只能在查询出的结果中引用,比如子查询没有查出flow_id,外层不能用,另外外层不能引用内层的t 3.薪水前三名,内层查出薪水 order desc的虚表外层使用rownum<3 4.merge可以实现…
分组函数 在分组函数中,如果有一个查找项分组,其他项必须也分组,比如下面的语句会报错,因为sal分组了,而ename没有分组: 1.显示工资最高的员工: 2.显示所有员工的平均工资: 2.1使用系统函数: 2.2自定义计算: 3.显示工资高于平均工资的员工信息: 对查询结果进行分组统计: 4.查询每个部门的最高工资和平均工资: 5.显示每个部门的每种岗位的平均工资与最高工资: 6.显示平均工资低于2000的部门号和它的平均工资: 对数据分组的总结 1 分组函数只能出现在选择列表.having.o…
常用的函数:            ·:统计个数:COUNT(),根据表中的实际数据量返回结果:            ·:求和:SUM(),是针对于数字的统计,求和            ·:平均值:AVG(),各种数据类型都支持            ·:最大值:MAX(),各种数据类型都支持            ·:最小值:MIN(),求出最小值      范例:验证各个函数:            select count(*) 人数,AVG(sal)员工平均工资,SUM(sal)每月…
分组函数也叫聚合函数.如果在查询只想要查分组函数,那么跟平时的查询语句并无不同: SQL ,,,,) ; SUM(T.PRIZENUM) AVG(T.PRIZENUM) --------------- --------------- 4549.7777777777 但往往不会这么简单,我们会一次查询多个列,包括普通的.没有调用分组函数的列,那么我们要注意以下几点: 1.所有未包含在组函数中的列都应该包含在 GROUP BY 子句中: 2.包含在 GROUP BY 子句中的列不必包含在SELECT…
--查询不重复的职位 select distinct job from emp; --查询年薪,起别名,别名不要用单引号括起来 as nianxin from emp sal; --以这样的形式显示具体数据:雇员编号是:姓名是:工资为:职位是:! select '雇员编号是:'||empno,'姓名是:'||ename,'工资是:'||sal,'职位是:'||job||'!' from emp; --查询不是职位不是“CLERK”的员工信息(至少用2种方式查询) select * from em…
实战经历,由于本人在共享单车上班,我们的单车管理模块,可以根据单车号查询单车,但是单车号没有设置unique(独一无二约束),说以这就增加了单车号可能重复的风险,但是一般情况下,单车号是不会重复的,因为平台的单车都是人工录入的,但是二般情况下,就会出现,一旦出现,那么就shit了,很不幸,今天就出现了这个问题,“一个单车号,可以在单车管理模块查出来有两条记录”这个时候,我们就必须把出现这种问题的单车号,再次手动编辑改变,由于数据库里,单车管理表里有成千上万个单车,但是,都有哪一个单车号出现了两次…
思想 先排序在汇总 sql server里分组查询通常用于配合聚合函数,达到分类汇总统计的信息.而其分类汇总的本质实际上就是先将信息排序,排序后相同类别的信息会聚在一起,然后通过需求进行统计计算. 使用GROUP BY进行分组查询 实例演示 --查询男女生的人数 在没有学习分组查询之前,我们可以安装常规的思路解决查询需求: select count(*) from student where sex='男' select count(*) from student where sex='女' 那…
CASE函数   作用: 可以将查询结果集的某一列的字段值进行替换 它可以生成一个新列 相当于switch...case和 if..else 使用语法: case 表达式/字段 when 值 then 自定义值 else end as 别名 when 值 then:可以理解为当某个字段为某个值的时候,然后就返回自定义值将结果集的字段值进行替换 else:如果上面的when都不满足就执行else结果 常用用法一(case后面有字段或者表达式): when关键字后面写固定值 case关键字后面如果有…
一.oracle的客户端与服务器端 oracle在安装完成后服务器和客户端都需要进行网络配置才能实现网络连接.    服务器端配置监听器,客户端配置网络服务名. 服务器端可配置一个或多个监听程序 . 二.oracle至少启动的服务    如果通过网络访问数据库服务器,至少要启动OracleOraDb11g_home1TNSListener和OracleServiceORCL服务. 如果本地访问数据库服务器,至少要启动OracleServiceORCL服务. 网络访问:例: sqlplus sco…
PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora原理解释 oracle网络配置三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下.1.  sqlnet.ora-----通过这个文件来决定怎么样找一个连接中出现的连接字符串.例如我们客户端输入sqlplus sys/oracle@ora假如我的…
1.解决问题:TNS或者数据库不能登录.      最简单有效方法:使用oracle系统提供的工具 netca 配置(把原来的删除掉重新配置)     $netca  2.然而,仍有疑问:如何指定'listener.ora'存放的目录?不要默认目录($ORACLE_HOME/network/admin) 在 '.profile' 中加入 TNS_ADMIN=/f01/oracle11/app/oracle/product/8.0.6/network/admin export TNS_ADMIN…
关于PLSQL连接ORACLE配置字符串 首先要讲一下下面的一些知识 1.ORACLE_SID:(ORACLE SYSTEM IDENTIFIER) Oracle实例是由SGA和一组后台进程组成的,实例的创建和启动需要一个参数文件,而参数文件的名称就是由ORACLE_SID决定的. 对于init文件…
oracle高级查询(实例基于scott用户四张表) 分组查询 多表查询 子查询 综合实例 ======================================================================= scott用户的四张表(emp,dept,bonus,salgrade) 没有这四张表的可参考http://blog.csdn.net/love_legain/article/details/54311040进行创建 -----------------------…
前言 在之前已经大概了解过Mysql数据库和学过相关的Oracle知识点,但是太久没用过Oracle了,就基本忘了...印象中就只有基本的SQL语句和相关一些概念....写下本博文的原因就是记载着Oracle一些以前没注意到的知识点...以后或许会有用... 实例与数据库概念 Oracle数据库服务器由两部分组成: 实例:理解为对象,看不见的 数据库:理解为类,看得见的 我们在安装Oracle的时候,已经填写过自己数据库的名称了,一般实例与数据库的名称是一致的... 如果还没有安装Oracle数…
一.前言 昨天中午接到领导指示,有其他组的负责人B在厄瓜多尔演示他们组的产品,然后我们组的负责人就想说也在那边搭一套环境,(北美那边的亚马逊云环境),让B帮忙演示下我们的系统. 于是,开始了一个比较曲折的过程.由于北美那边离咱们实在太远,网络相当不稳定,一步一卡,淡入淡出效果相当明显. aws环境是windows server,好歹不用自己上传oracle安装包,直接官网下载下来.然后安装后,监听又出问题,自己没搞定,最后dba在家里远程搞了一个多小时才搞定. 最后把应用什么的全部部署完,已经搞…
前段时间要远程连接oracle数据库,可是又不想在自己电脑上完整安装oracleclient,于是到oracle官网下载了轻量级clientinstant client. 这玩意没有图形界面,全靠sqlplus远程连接server,所以不占地方,正好满足我这样的追求"简单就好"的强迫症患者需求. 可是呢,可能是server那边没开监听port,我在自己的机子上尝试了各种配置,包含tnsnames.ora,sqlnet.ora等,远程连接均告失败.为了排查问题.我先ping了一下serv…
oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME\network\admin目录下. 1.  sqlnet.ora-----作用类似于linux或者其他unix的nsswitch.conf文件,通过这个文件来决定怎么样找一个连接中出现的连接字符串. 例如我们客户端输入 sqlplus sys/oracle@orcl 假如我的sqlnet.ora是下面这个样子 SQLNET.AUTHENTICATION…
problem: oracle  11  r2  64位安装完成后NETWORK/ADMIN目录下居然没有tnsnames.ora和listener.ora文件 solution: 问题是之前安装了另外一个版本的oracle,我是安装了oracle xe,没有卸载干净,导致在环境变量中存在TNS_ADMIN指向了不正确的目录.如下图所示: 上图中的TNS_ADMIN的配置是正确的,原来的配置是错误的.原来的配置指向的是d:\oraclexe下的某个目录,因为指向的目录已经被删除,所以用oracl…
select语句学习 . 创建表 create table user(user varchar2(20), id int); . 查看执行某条命令花费的时间 set timing on: . 查看表的结构 desc 表名: . 查询所有列 select * from 表名; . 查询指定列 select 某列名1,某列名2 from 表名; . 取消重复行 select distinct 某列名1,某列名2 from 表名: 其中distinct作用在后面多列,只有每行完全相同才会被滤去 .  …
1.GROUP BY 标准分组 1.1.GROUP BY 概述 1.2.WHERE 和 HAVING 的区别? 2.GROUP BY 扩展分组 2.1.ROLLUP 分组 2.2.CUBE 分组 2.3.GROUPING SETS 分组 2.4.复杂分组(组合列分组.重复列分组.连接分组) 3.GROUP BY 扩展函数 3.1.GROUPING 函数 3.2.GROUPING_ID 函数 3.3.GROUP_ID 函数 4.总结 1.GROUP BY 标准分组 为了便于讲述,我将把简单 GRO…
Oracle和MySQL分组查询GROUP BY 真题1.Oracle和MySQL中的分组(GROUP BY)有什么区别? 答案:Oracle对于GROUP BY是严格的,所有要SELECT出来的字段必须在GROUP BY后边出现,否则会报错:“ORA-00979: not a GROUP BY expression”.而MySQL则不同,如果SELECT出来的字段在GROUP BY后面没有出现,那么会随机取出一个值,而这样查询出来的数据不准确,语义也不明确.所以,作者建议在写SQL语句的时候,…
按照正常操作流程,启动项目,发现项目报错,原因是连接不上oracle数据库, PLSQL连接时报错,错误码  ORA:12154 无法解析指定的连接标识符 第一次,遇到这个错误,在网上找了资料都是需要修改 监听(D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora)和服务(D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora)文件. 基于前一天正常使用,第二天莫…
oracle手动修改listener.ora和tnsnames.ora之后竟然无效 花式重启都没有生效,需要使用Net Configuration Assistant来进行刷一下,重新生成的监听还是一样一样的啊:…
由于本人并未对oracle数据库进行深入了解,但是工作中又需要知道一些基础的sql,所以记录下操作的sql语句.方便日后查看 1.将序列号作为分组查询的条件,再将查询出来的结果进行筛选. select t.serial_number,count(t.serial_number) from stamp_info t group by t.serial_number ;…
分组查询 写的顺序: select...from...where... group by...having...order by... 执行顺序: from...where...group by.... having ... select ...order by .... 实例练习: -- existes : 用它来找寻满足一个条件的信息 -- 找寻多表中存在关联关系或不存在关联关系的数据 --查询部门当中没有员工的部门 select d.* from dept d where not EXIS…
oracle  分组取第一行数据 SELECT * FROM ( SELECT ROW_NUMBER() OVER(PARTITION BY x ORDER BY y DESC) rn, t.* FROM test1 t ) WHERE rn = 1; 查找oracle  执行的语句 select t.*from v$sqlarea t where t.FIRST_LOAD_TIME like '2018-11-05%' order by t.FIRST_LOAD_TIME desc…
分组查询:使用 group by 来设置分组,把该列具有相同值的多条记录当成一组记录来处理,然后只会输出一条记录,得到的结果会默认使用升序的方式进行排列. 规则: (1)如果使用了分组函数,或者是 group by 语句,当他出现在 select 列表中的字段,要么出现在组合函数中,要么出现在 group by 子句中,否则会报错. (2)group by 子句的字段可以不用出现在 select 列表中. (3)使用组函数可以不使用 group by 子句,此时所有的查询结果作为一组.   --…
做了一个功能需要分组查询,同时查询A表分组查询的ID需要关联B表的数据,本来想两个表关联查询,但是报group by 语法不正确.所以做了以下修改. select count(*), cindexid,(select vindexcode from comindex where pk_index =cindexid) as vindexcode ,iquesttype from rqt_examquest where pk_examquest in (    select cexamquesti…