Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何累积SQL列数据_Sql - Fatal编程技术网

如何累积SQL列数据

如何累积SQL列数据,sql,Sql,我有一个问题,我想知道我是否可以在SQL中完成它 ID ACC_NO ---------------- 1 2342 2 8938 3 8089 Result ID ACC_NO ACCUM --------------------- 1 2342 11 2 8938 28 3 8089 25 我要累计ACC_编号(2+3+4+2=11) 我能做吗?是否有在SQL中累积数据的选项 谢谢是的,你能行。以下是一种假设您的字段编号始终为四位数(或更

我有一个问题,我想知道我是否可以在SQL中完成它

ID  ACC_NO
----------------
1   2342
2   8938
3   8089

Result 
ID  ACC_NO  ACCUM
---------------------
1   2342    11
2   8938    28
3   8089    25
我要累计ACC_编号(2+3+4+2=11)

我能做吗?是否有在SQL中累积数据的选项


谢谢

是的,你能行。以下是一种假设您的字段编号始终为四位数(或更少)的方法:


注意:%s是模数运算符

是的,您可以这样做。以下是一种假设您的字段编号始终为四位数(或更少)的方法:


注意:%s是模运算符

正如Vache所给出的,您应该在程序中进行求和,而不是sql。 虽然我给你的解决方案期望你的数字是4位

SELECT ID, ACC_NO, ( SUBSTRING(ACC_NO,1,1) +SUBSTRING(ACC_NO,2,1) +SUBSTRING(ACC_NO,3,1) +SUBSTRING(ACC_NO,4,1)) as ACCUM
FROM jj_salary_info

正如Vache所说,您应该在程序中进行求和,而不是sql。 虽然我给你的解决方案期望你的数字是4位

SELECT ID, ACC_NO, ( SUBSTRING(ACC_NO,1,1) +SUBSTRING(ACC_NO,2,1) +SUBSTRING(ACC_NO,3,1) +SUBSTRING(ACC_NO,4,1)) as ACCUM
FROM jj_salary_info

有什么好的理由不在你的程序中这样做吗?(可能有!但如果没有,我会选择代码中的某些内容,而不是数据库中的内容)特定的dbms或纯sql?是的,vache是对的,您可以在程序代码中以更好的方式执行此操作有任何不在程序中执行此操作的好理由吗?(可能有!但如果没有,我会选择代码中的内容,而不是数据库中的内容)特定的dbms或纯sql?是的,vache是对的,您可以在程序代码中以更好的方式来完成