【oracle 普通业务数据统计sql】教程文章相关的互联网学习教程文章

oracle 按时间段统计15分钟内的数据【代码】

string sql = "select to_char(StartTime, ‘yyyy‘)||‘-‘|| to_char(StartTime, ‘mm‘)||‘-‘|| to_char(StartTime, ‘dd‘)||‘ ‘|| to_char(StartTime, ‘hh24‘)||‘:‘|| floor(to_char(StartTime, ‘mi‘)/15)*15 statime, sum(Count) as Counts from table where StartTime <= to_date(‘2016-11-29 18:00:00‘ ,‘YYYY-MM-DD hh24:mi:ss‘) group by to_char(StartTime, ‘yyyy‘)||‘-‘|| to_char(StartTime, ‘mm‘...

oracle中LAG()和LEAD()等分析统计函数的使用方法(统计月增长率)

LAG()和LEAD()统计函数能够在一次查询中取出同一字段的前N行的数据和后N行的值。这样的操作能够使用对同样表的表连接来实现,只是使用LAG和 LEAD有更高的效率。下面整理的LAG()和LEAD()样例:LAG(EXPRESSION,<OFFSET>,<DEFAULT>) SQL> select year,region,profit ,lag (profit,1) over (order by year) as 51xit_exp from test; YEAR REGION PROFIT 51xit_exp ---- ------- ---------- ------------- 2003 West 8...

Oracle 11g系统自己主动收集统计信息的一些知识

在11g之前,当表的数据量改动超过总数据量的10%,就会晚上自己主动收集统计信息。怎样推断10%。之前的帖子有研究过:oracle自己主动统计信息的收集原理及实验。这个STALE_PERCENT=10%,是无法改动的,假设表很大。10%是许多的数据,很有可能造成统计信息不准确。 在11g之后,STALE_PERCENT=10%是能够改动的,分为全局(DBMS_STATS.SET_GLOBAL_PREFS )和表级别(DBMS_STATS.SET_TABLE_PREFS)。表级别的设定: 改动为5%(范围...

Oracle统计信息不准(谓词越界)造成的性能问题【代码】

什么是谓词越界?谓词越界其实就是SQL语句的查询条件超出了数据库统计信息所记录的范围。谓词越界会导致Oracle优化器错误的选择SQL语句的执行计划,导致性能问题。这里举一个简单的例子说明谓词越界导致优化器选择了错误的执行计划。create table t1 (col1 number); create index idx_t1 on t1(col1);beginfor i in1..10000 loopinsert into t1 values (i);end loop;commit; end; /这里创建了t1表,并在col1列上创建了索引,并向表...

Oracle数据库row_number() over统计前15名企业, wm_concat(case when then)行转列【图】

1.ROW_NUMBER() OVER函数的基本用法语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)例如:row_number() OVER (PARTITION BYCOL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)如:不同的产品类别和计量单位下,查询所有企业的排名。SELECT product_type 产品类别,prickle 计量单位,production_name 企业名称,row_number() over(p...

oracle数据库下统计专营店的男女数量的语句

Web_THBC 为表示层也就是页面(.aspx) BLL_THBC 为业务逻辑层 DAL_THBC 为数据库交互层 (向数据库执行SQL语句) Model_THBC 为实体类 DbHelper 为数据库连接类 统计个专营店的男女数量 复制代码 代码如下:select dua.UARTERS_ID,dua.UARTERS_NAME ,sum(case when sex = ‘1‘ then 1 else 0 end) as Man ,sum(case when sex = ‘0‘ then 1 else 0 end) as Woman from dbo.DCAD_USER as du left join dbo.DCAD_UARTERS as dua on...

Oracle执行计划突变诊断之统计信息收集问题【代码】

Oracle执行计划突变诊断之统计信息收集问题1. 情形描述DB version:11.2.0.4WITH SQL1 AS (SELECT LAC, CI, TO_NUMBER(C.LONGITUDE) LONGITUDE, TO_NUMBER(C.LATITUDE) LATITUDE FROM MB_SYS_CELL_INFO C WHERE C.CONTY_NAME = ‘道孚县‘), SQL2 AS (SELECT DISTINCT IMSI, LAC, CI FROM MB_BSS_USER_LOCATION WHERE HOUR IN (16, 15, 14, 13) AND TIME = TO_TIMESTAMP(‘20170...

oracle中LAG()和LEAD()等分析统计函数的使用方法(统计月增长率)

LAG()和LEAD()统计函数能够在一次查询中取出同一字段的前N行的数据和后N行的值。这样的操作能够使用对同样表的表连接来实现,只是使用LAG和 LEAD有更高的效率。下面整理的LAG()和LEAD()样例:LAG(EXPRESSION,<OFFSET>,<DEFAULT>) SQL> select year,region,profit ,lag (profit,1) over (order by year) as 51xit_exp from test; YEAR REGION PROFIT 51xit_exp ---- ------- ---------- ------------- 2003 West 8...

ORACLE分组查询和统计等【代码】

select flow_id,rw from (select t.flow_id ,rownum as rw from apex_030200.wwv_flow_list_templates t) where rw >= 51.rownum只能用<如果使用>加别名2.子查询引用只能在查询出的结果中引用,比如子查询没有查出flow_id,外层不能用,另外外层不能引用内层的t3.薪水前三名,内层查出薪水 order desc的虚表外层使用rownum<34.merge可以实现存在数据就update不存在你就insertmerge into product ausing (select 1717 product_id,...

Oracle 11g系统自动收集统计信息的一些知识

---11g的是 周一到周五 22:00-2:00 周六周日 6:00-4:00 SELECT w.window_name, w.repeat_interval, w.duration, w.enabled FROM dba_autotask_window_clients c, dba_scheduler_windows w WHERE c.window_name = w.window_name AND c.optimizer_stats = ‘ENABLED‘; WINDOW_NAME REPEAT_INTERVAL DURATION -------------------- ------------------------------------...

oracle学习篇五:组函数,分组统计

常用组函数: 1.ccount() 求出全部记录数。 2.max() 求出一组最大值 3.min() 求出一组最小值 4.avg() 求出平均值 5.sum() 求和 --1.统计员工数量: select count(empno) from emp; --2.求出最高薪资 select max(sal) from emp; --3.求出最低薪资 select min(sal) from emp; --4.求出平均薪资 select avg(sal) from emp; --查询各部门员工数量 select deptno,count(empno) from emp group by deptno --查询各部门平均...

Oracle统计全库表中的时间字段的内数据的时间范围【代码】

统计全库时间字段内容的时间范围建立存储用的表create table time_limit (table_name varchar2(40),column_name varchar2(40),time_part varchar2(255) ) 执行下面的匿名存储时间类型并不局限于Date,可以添加其他时间类型DECLARE v_table_name varchar2(40); v_column_name varchar2(40); v_str_time varchar2(255); str_sql varchar2(1000); str_sql_1 varchar2(1000); cursor tmp_pinjie IS select table_name,column_name from...

oracle学习----统计信息【图】

1.收集统计信息的方式for all columns size skewonlyBEGIN DBMS_STATS.GATHER_TABLE_STATS(ownname => ‘SCOTT‘, tabname => ‘TEST‘, estimate_percent => 100, method_opt => ‘for all columns size skewonly‘, no_invalidate => FALSE, ...

oracle统计信息

create table t2 as select * from dba_objects; 建索引:create index idx_t2 on t2(object_id);2.收集T2的表所有列和表上所有索引的统计信息:exec dbms_stats.gather_table_stats(ownname=>‘SYS‘,tabname=>‘T2‘,estimate_percent=>100,cascade=>true,degree=>4);degree表示并行度;3.查看统计信息,脚本(soxi.txt)Please enter Name of Table Owner (Null = SYS): SYSPlease enter Table Name to show Statistics for: T2*...

ORACLE的DDL日志 推送到Kafka,并接入Flink,进行统计【代码】【图】

本次测试的环境: 环境:docker oracle12c 日志模式:归档日志模式 archivelog 用户:scott/tiger 具有dba权限 大数据组件:kafka(默认创建好topic:flink_topic),zookeeper 额外组件:kafka-connect-oracle-1.0.jar下载地址: https://github.com/erdemcer/kafka-connect-oracle 1. 创建测试表,并插入几条记录 2.开启归档日志模式sqlplus / as sysdba SQL> shutdown immediate SQL> startup mount SQL> alter database ...