首页 > 数据库 >Oracle常用统计

Oracle常用统计

时间:2023-06-17 18:14:46浏览次数:38  
标签:STARTDATE 常用 sum char select Oracle HOLIDAY ORDER 统计

 

测试, 这是测消息

 

1.按天


select to_char(t.STARTDATE+15/24, 'YYYY-MM-DD') as 天,sum(1) as 数量
from HOLIDAY t
group by to_char(t.STARTDATE+15/24, 'YYYY-MM-DD') --
ORDER by 天 NULLS  LAST;

 

 

select trunc(t.STARTDATE, 'DD') as 天,sum(1) as 数量
from HOLIDAY t
group by trunc(t.STARTDATE, 'DD') --
ORDER by 天 NULLS  LAST;


2.按周


select to_char(next_day(t.STARTDATE+15/24 - 7,2),'YYYY-MM-DD') AS 周,sum(1) as 数量 
from HOLIDAY t 
group by to_char(next_day(t.STARTDATE+15/24 - 7,2),'YYYY-MM-DD')ORDER BY 周;

 

 

-- 按自然周统计 
select to_char(t.STARTDATE,'iw') AS 周,sum(1) as 数量
from HOLIDAY t

group by to_char(t.STARTDATE,'iw')
ORDER BY 周;


3.按自然月


select to_char(t.STARTDATE,'YYYY-MM') as 月份,sum(1) as 数量
from HOLIDAY t

GROUP BY
    to_char(t.STARTDATE,'YYYY-MM')
ORDER BY 月份;


4.按季度


select to_char(t.STARTDATE,'q') 季度,sum(1) as 数量
from HOLIDAY t
group by to_char(t.STARTDATE,'q')
ORDER BY 季度 NULLS  LAST;

 

 

5.按年


select to_char(t.STARTDATE,'yyyy') AS 年度,sum(1) as 数量
from HOLIDAY t
group by to_char(t.STARTDATE,'yyyy')
ORDER BY 年度;

 

 

 

 


6.ORACLE用GROUP BY 来分组日期字段 按月分组

 

 

SELECT to_char(日期字段,'yyyymm'),sum(*) 
FROM [TableName] 
group by to_char(日期字段,'yyyymm');
SELECT to_char(日期字段,'yyyymm'),sum(*) 
FROM [TableName] 
group by to_char(日期字段,'yyyymm');

 

 

7.oracle查询七天数据,并且按日期分组

 


1、查从今天开始前七天日期

select to_char (sysdate- level + 1, 'yyyy-mm-dd') today FROM DUAL connect BY LEVEL <= 7

2、写统计语句,将数量和日期查出来(这个分组统计自己写)

3、用第一步和第二步两张表做左关联查询 ,没有的数量用0代替(刚好这几天都有数据,没有的会以0展示出来)

 

 

1) NVL函数

NVL(E1, E2)的功能为:如果E1为NULL,则函数返回E2,否则返回E1本身。但此函数有一定局限,所以就有了NVL2函数。

拓展:NVL2函数:Oracle/PLSQL中的一个函数,Oracle在NVL函数的功能上扩展,提供了NVL2函数。NVL2(E1, E2, E3)的功能为:如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。

 

 

2)substr函数格式 (俗称:字符截取函数)

  格式1: substr(string string, int a, int b);

  格式2: substr(string string, int a) ;

解释:

格式1:
1、string 需要截取的字符串
2、a 截取字符串的开始位置(注:当a等于0或1时,都是从第一位开始截取)
3、b 要截取的字符串的长度

格式2:
1、string 需要截取的字符串
2、a 可以理解为从第a个字符开始截取后面所有的字符串

 

标签:STARTDATE,常用,sum,char,select,Oracle,HOLIDAY,ORDER,统计
From: https://www.cnblogs.com/mjxxsc/p/17487978.html

相关文章

  • Linux下常用命令
    scp用于上传,下载,两台服务器文件复制上传文件到服务器:scpusername@servername:/path/filename/tmp/local_destination从服务器上下载文件到本地:scp/path/local_filenameusername@servername:/path从服务器上下载整个目录到本地:scp-rusername@servername:remote_dir/......
  • TortoiseSVN常用批处理命令
    摘自:http://www.hzhcontrols.com/new-562634.htmlTortoiseSVN作为源代码管理软件,估计用过的都会说好,在Windows下,配合批处理命令,往往可以事半功倍,整理了下常用的批处理命令:(将下面的内容修改后,保存为*.bat文件执行即可):: SVN检出批处理: ::思路:在命令行里切换到要签出的目......
  • Stata计量统计下载STATA软件下载Stata绿色安装版 软件大全
    Stata是一款集数据分析、数据管理以及绘制专业图表的整合性统计软件,它提供许许多多功能,包括线性混合模型、均衡重复反复及多项式普罗比模式,用Stata绘制的统计图形相当精美。【功能特点】统计功能:Stata的统计功能很强,除了传统的统计分析方法外,还收集了近20年发展起来的新方法,如Cox比......
  • MobaXterm常用使用功能设置
    原标题:MobaXterm常用使用功能设置文章目录一、设置选中复制,右键粘贴二、设置MobaXterm中ssh登录免密码操作设置方法1设置方法2三、从服务器下载文件到本地四、取消自动连接SFTP五、解除最多14个会话数量限制六、多台机器同时输入相同命令七、用Windows的编辑工......
  • 电源参数计算常用的Mathcad功能介绍
    mathcad作为一款常用的数学计算软件,在很多个领域都用应用。本文用于总结在电源参数计算常用的功能或者函数。  一、分段函数在变量后面输入英文状态下的]键,就能出现分段函数的格式,将函数f(x)分为两段,再次按]键,将函数分为三段。不过分段函数一般是结合其他函数命令......
  • mysql常用语
    给某个字段添加另一个字段的值UPDATEproduct_noticeSETtitle=CONCAT(product_name)where(ISNULL(title)=1orLENGTH(trim(title))=0); 如果需要赋值拼接使用空格进行分隔UPDATEproduct_noticeSETtitle=CONCAT(product_name,'',content)where(ISNULL(title)=1......
  • Oracle 分组统计,按照天、月份周和自然周、月、季度和年
     1.按天selectto_char(t.STARTDATE+15/24,'YYYY-MM-DD')as天,sum(1)as数量fromHOLIDAYtgroupbyto_char(t.STARTDATE+15/24,'YYYY-MM-DD')--ORDERby天NULLSLAST; selecttrunc(t.STARTDATE,'DD')as天,sum(1)as数量fromHOLIDAY......
  • Oracle 三种分页方法
    Oracle的三层分页指的是在进行分页查询时,使用三种不同的方式来实现分页效果,分别是使用ROWNUM、使用OFFSET和FETCH、使用ROW_NUMBER()OVER()1.使用ROWNUM ROWNUM是Oracle中一个伪列,它用于表示返回的行的序号。使用ROWNUM进行分页查询的方法是在SELECT语句中加入WHERE子句,并在WHERE......
  • oracle中rownum和row_number()
     oracle中rownum和row_number() row_number()over(partitionbycol1orderbycol2)表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)。与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪劣rownum然后再进......
  • oracle与MySQL数据库之间数据同步的技术要点
    1,需求描述某ORCALE11生产数据库(下称源数据库),内含近万个表,需要从中每日同步几十个表的数据到mySQL5.7数据库(下称目标数据库)中,供第三方使用。需要对生产数据库影响越小越好。2,技术挑战数据类型不完全一致。从Oracle中导出的建表语句到MySQL数据库中不一定能运行,因为二者的数据......