Oracle 、SqlServer 根据日期逐日、逐月递增累加、逐行累加

动态追加日累计、月累计:

  1. 测试表tb_test_over 中有SCRQ、RSJ两列,存储每日的日数据;
select * from tb_test_over ;
  1. 使用OVER函数动态追加列,根据SCRQRSJ累计求和;
select scrq,rsj,sum(rsj) over(order by scrq) as nsj from tb_test_over order by scrq;
  1. 使用OVER 结合 PARTITION BY 对每月进行累加;
select scrq,sum(rsj) over(partition by to_char(scrq,'yyyy-mm') order by scrq) ysj from tb_test_over order by scrq;
  1. 综合版,查询日、月、年累加数据;
select scrq,'yyyy-mm') order by scrq) ysj,sum(rsj) over(order by scrq) as nsj from tb_test_over order by scrq;

5、最后追加一个动态字符列转行技巧;
'A,B,V,C,D,S,A'这么一个字符串,根据逗号将数据输出到每行;

SELECT REGEXP_SUBSTR ('A,A','[^,]+',1,ROWNUM) as str FROM DUAL CONNECT BY ROWNUM <= LENGTH ('A,A') - LENGTH (REPLACE ('A,',',''))+1;

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...