Oracle 数据库 计算一张表每个时间段(月、季等)表内全部数据的总数以及当段时间内的总数

您所在的位置:网站首页 oracle按季度统计数据 Oracle 数据库 计算一张表每个时间段(月、季等)表内全部数据的总数以及当段时间内的总数

Oracle 数据库 计算一张表每个时间段(月、季等)表内全部数据的总数以及当段时间内的总数

2024-07-13 09:32| 来源: 网络整理| 查看: 265

注:本文中的SQL语句,皆在Oracle数据库中验证可用,几大主流数据库的SQL语句相近,其余数据库,各位可自行修改验证~

需求:

一张表,第一个月录入数据100条,第二个月录入数据150条,第三个月录入数据200条;

需要得出的结果:1  100  2  250   3  450

以下是每段时间内,各自的数据总数的SQL

 

SELECT DISTINCT HIRE_YEAR_MONTH, COUNT_ FROM ( SELECT TO_CHAR(create_date, 'yyyy/mm') HIRE_YEAR_MONTH, COUNT(*) OVER(PARTITION BY TO_CHAR(create_date, 'yyyy/mm')) AS COUNT_ FROM TableName ) a group by a.HIRE_YEAR_MONTH,a.count_

此段SQL只能得出: 1  100  2  150   3  200

并不能达到我们的需求

以下为统计全表数据总数在【有数据变化】每个月内的Count,即第二个月需要包含自身和第一个月的总数,第三个月要包含自身和前两个月的总数:

SELECT distinct TO_CHAR(a.create_date, 'yyyymm'), (SELECT count (*) FROM gp_equ2_list b WHERE TO_CHAR(b.create_date, 'yyyymm')


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3