sql解决按月每天叠加,sql累加问题
时间:2022-11-01 22:00:00
sql每天按月叠加,sql累加问题
问题描述:
拿到手表需要每天统计 sersive下个月科目总量,即累计server科目 当月每天的num和
data month sersive num 2022-01-03 202201 前日余额 272761.98 2022-01-04 202201 前日余额 272812.98 2022-01-05 202201 前日余额 272996.43
目标表:
data month sersive num count 2022-01-04 202201 前日余额 175.60 1756005.88 2022-01-05 202201 前日余额 46.00 2216005.88 2022-01-06 202201 前日余额 0.00 2216005.88 2022-01-07 202201 前日余额 141.31 3629127.88
count 数据即每月server科目下的日和
select date , month ,km ,sje ,sum(je) OVER(partition BY km ORDER BY datennn) AS count from table
函数over介绍:
0ver分析函数不能单独使用: rank(),dense_rank(),row_number()一起使用。
其参数:over(partition by columnname1 order by columnname2)
**含义:**按columname1指定的字段分组排序,或按字段排序columnname对1的值进行分组排序。
例如:employees表中有两个部门的记录:department_id =10和20`
select department_id ,rank() over(partition by department_id order by salary) from employees
是指部门10中工资排名,部门20中工资排名。partition by org_id,在整个公司排名。
over(partition by class order by sroce) 按照sroce累积排序,order by根据默认开窗函数,是默认开窗函数class分区。
2.窗户范围:
over(order by sroce range between 5 preceding and 5 following):窗口范围在当前行数据范围减5加5后的范围内。
over(order by sroce rows between 5 preceding and 5 following):窗口的范围是前后移动5行。