当前位置:首页 » 编程语言 » sql按顺序累加
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql按顺序累加

发布时间: 2022-12-29 12:26:22

A. sql自动累加序号

update b set 单据ID=(select max(单据ID+1) from a) where ....

insert into a (单据ID) values ((select max(单据ID+1) from a))
delete from b where 单据ID in (select 单据ID from a)

B. sql server中,怎么对数据按照插入的先后次序排序

主键如果是自增的,直接按主键来排序就行,如果不是。那你就得建立一个SORT列专门为其排序用,很灵活,你可以存拼音首字母按其排序,也可以存先后顺序。

C. sql中如何实现以日期为条件,使每个月会自动的从1开始重新累加排序。如下图,ecode由年月和数字组成。

SELECT to_number(to_char(SYSDATE,'yyyymm')) FROM al;--201212
SELECT lpad(1,4,0) FROM al;--SELECT lpad(1,4,0) FROM al;

第一句是获取系统年月
第二句就是实现你要的四位数lpad(1 ,4,0) 的意思就是给数字将1处理成0001。第一数字就是你要累加的值

D. sql查询累加

如果只是简单的累加的话:
select sum(money) from a;
如果是逐条累加的话,麻烦:
用sqlserver写个存储过程,中间有很多知识,好好学学吧!

E. SQL 累加式计算

1、创建测试表
create table # (
val int null,
sum_val int null
)
--2、创建测试数据
insert into # (val)
select top 100 abs(checksum(newid()))%100+1 from sys.all_columns a,sys.all_columns b
--3、查询插入数据
select * from #
--4、开始赋值累加值
declare @sum_Val as int
set @sum_Val=0
update # set sum_val=@sum_Val,@sum_Val=case when @sum_Val=0 then val else @sum_Val+val end
--5、查询累加后的结果
select * from #
--6、清除测试数据
drop table #

F. SQL字段累加求和的问题

SELECT ID,STRING1,STRING2 from table UNION
select ID=0,string1=string1+'小计',countresult=count(1),sum1=sum(string2) from talbe group by string1 union
select ID=0,string1='总计',countresult=count(1),sum1=sum(string2) from table order by string1,id
结果为包括了小计和总计,和明细,并按顺序排列

G. SQL 的一个累加算法

select t2.id,t2.a,sum(t1.a)
from t_a t1 left join t_a t2 on t1.id<=t2.id
group by t2.id,t2.a

是这个意思吗?
表名我起的叫t_a,应该和你一样,字段名也引用你的,直接运行看看结果
-----------补充----------
这个就可以显示你要求的结果啊,你是要更新b列的数据吗?你数据库是什么?

更新b列用这个
update t_a set t_a.b=s.sum_value from t_a
inner join (select t2.id,t2.a,sum(t1.a) sum_value from t_a t1 left join t_a t2 on t1.id<=t2.id
group by t2.id,t2.a) s on t_a.id=s.id and t_a.a=s.a

sqlserver下的写法,其他数据库写法可能略有出入,有问题帮你调

H. sql累加函数

CreateFunctionfn_lj(@Iint)
Returnsint
As
Begin
Declare@rstint=0
while@I>0
begin
Set@rst=@rst+@I
Set@I=@I-1
end

return@rst
End
/*
比如输入10,得到55
selectdbo.fn_lj(10)
*/

I. 关于SQL计算累加

--sql 其实很简单 语法你都会 关键是怎么组合
select year,month,(select sum(membercount) from tablename b where b.year=a.year and b.month<=a.month)
all_membercount from tablename a
--注:year和month 无论什么数据类型都不影响 把表名换成你的表名(内表外表表名是一样的) 就可以了
--希望解决了楼主的问题

J. SQL如何实现累加

你写一个package,package中定义一个全局变量。
然后再写个function,传一个数字,如果是1,就赋值为0。每调用一次这个function, 那全局变量就加1,再返回全局变量的值。

在执行sql 的时候,顺便调用这个function。
select function(rownum),a.* from table a