sql递归求和
㈠ 请问一下sql的求和怎么写
假如你的数据列名为:a,b,c,d,e,f,g
那么你横向汇总的sql语句是:
select
a,b,c,d,e,f,g,a+b+c+d+e+f+g
from
表名
那么你纵向汇总的sql语句是:
select
sum(a),sum(b),sum(c),sum(d),sum(e),sum(f),sum(g)
from
表名
求所有数据总和的sql语句是:
select
sum(a)+sum(b)+sum(c)+sum(d)+sum(e)+sum(f)+sum(g)
from
表名
㈡ SQL ,求和
declare @a int 定义变数@a
declare @b int 定义变数@b
set @a=1 定义当@a=1
set @b=0 定义当@b=0
while @a<=100 当@a的值小于等于100就执行begin end中的语句
begin
set @b=@a+@b
set @a=@a+1 只要@a<=100就执行此条语句
end
print @b 输出@b
go
㈢ oracle中使用sql递归算出1加到100的值
declare
iint;
kint;
begin
i:=1;
k:=0;
whilei<=100loop
k:=k+i;
i:=i+1;
endloop;
dbms_output.put_line(k);
end;
上边是用while循环,下边这个用for循环
declare
kint;
begin
k:=0;
foriin1..100loop
k:=k+i;
endloop;
dbms_output.put_line(k);
end;
㈣ SQL数据库里的求和语句怎么写
用select sum(列名),sum(列名),sum(列名)…… from 表 where 条件。
㈤ php与mysql表中如何求递归求和汇总
functionsumShuzi(&$tree,&$updateData=array()){
$sum=0;
//foreach($treeas$key=>$item){//这句话有毒
foreach($treeas$key=>&$item){
if(isset($item['children'])){
$oldPshuzi=$tree[$key]['Pshuzi'];
$tree[$key]['Pshuzi']=sumShuzi($item['children'],$updateData);
if($oldPshuzi!=$tree[$key]['Pshuzi']){
$updateData[$item['id']]=array($tree[$key]['Pshuzi'],$tree[$key]['Pname_ch']);
}
}
$sum+=$tree[$key]['Pshuzi'];
}
return$sum;
}
$tree=json_decode('[{"id":"1","Pid":"0","Pname_ch":"u6e20u9053u90e8","Pshuzi":"1638000","children":[{"id":"4","Pid":"1","Pname_ch":"u9500u552eu4e8cu90e8","Pshuzi":"895000","children":[{"id":"13","Pid":"4","Pname_ch":"u5468u7ecfu7406","Pshuzi":"28","children":[{"id":"28","Pid":"13","Pname_ch":"u6e56u5357","Pshuzi":"158000"},{"id":"35","Pid":"13","Pname_ch":"u65b0u7586","Pshuzi":"19000"}]},{"id":"40","Pid":"4","Pname_ch":"u9648u7ecfu7406","Pshuzi":"5000"}]}]}]',true);
//$tree是具有父子关系的数据树
sumShuzi($tree,$updateData);
foreach($updateDataas$id=>$item){
$sql="updateyour_tablesetPshuzi={$item[0]}whereid={$id}";
mysqli_query($db,$sql);//$db是你的数据库连接结果
}
㈥ sql语句求和
SQL中求和语句分为纵向汇总和横向汇总语句;
假设数据列为:A、B、C、D、E、F、G
纵向汇总语句:
selectsum(A),sum(B),sum(C),sum(D),sum(E),sum(F),sum(G)from表名
横向汇总的SQL语句是:
selectA,B,C,D,E,F,G,A+B+C+D+E+F+Gfrom表名
求所有数据总和的SQL语句是:
selectsum(A)+sum(B)+sum(C)+sum(D)+sum(E)+sum(F)+sum(G)from表名
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。
(6)sql递归求和扩展阅读:
sql参考语句
删除新表
drop table tabname
增加一个列
Alter table tabname add column col type
添加主键
Alter table tabname add primary key(col)
删除主键
Alter table tabname drop primary key(col)
创建索引
create [unique] index idxname on tabname(col….)
㈦ SQL按条件汇总求和
如下:
1、第一步,将示例表导入SQL语句中,见下图,转到下面的步骤。
㈧ SQL里边的求和语句怎么写
SQL中求和语句分为纵向汇总和横向汇总语句;
假设数据列为:A、B、C、D、E、F、G
纵向汇总语句:
select sum(A),sum(B),sum(C),sum(D),sum(E),sum(F),sum(G) from 表名
横向汇总的SQL语句是:
select A,B,C,D,E,F,G,A+B+C+D+E+F+G from 表名
求所有数据总和的SQL语句是:
select sum(A)+sum(B)+sum(C)+sum(D)+sum(E)+sum(F)+sum(G) from 表名
(8)sql递归求和扩展阅读:
SQL是一种查询功能很强的语言,只要是数据库存在的数据,总能通过适当的方法将它从数据库中查找出来。SQL中的查询语句只有一个:SELECT,它可与其它语句配合完成所有的查询功能。SELECT语句的完整语法,可以有6个子句。完整的语法如下:
SELECT 目标表的列名或列表达式集合
FROM 基本表或(和)视图集合
〔WHERE条件表达式〕
〔GROUP BY列名集合
〔HAVING组条件表达式〕〕
〔ORDER BY列名〔集合〕…〕
㈨ sql语言,统计,好像是递归
--这个统计,关键看你的表结构是怎样设计的
--以下是我的表
--省,市,区县,镇,村(在国家统计网址上可以下载到txt文档)
select*fromApo_province--省
select*fromApo_city--市
select*fromApo_county--区/县
select*fromApo_town--镇
select*fromApo_village--村
--收集数据的表(你只考虑到市,实际上可以从村到镇,到区县,到市,到省)
CreateTableT
(
idintidentity(1,1),
city_idVarchar(10),
Qtyint
)
--插入测试数据
--按市随机插入一条记录
insertintoT(city_id,Qty)
Selectcity_id,CRYPT_GEN_RANDOM(1)fromApo_city
--分类汇总
Selectc.province_id,max(c.name)Asname,SUM(qty)AssQty
FromApo_cityAleftjoinT
onA.city_id=T.city_id
leftjoinApo_provinceConA.province_id=C.province_id
GroupbyC.province_id
orderbyc.province_id
㈩ sql对查询结果求和
作为两个子查询再查一次就行了
select isnull(t1.[详情],t2.[详情]) AS [详情],
ISNULL(t1.[次数], 0) AS [赠_次数],
ISNULL(t2.[次数], 0) AS [送_次数],
ISNULL(t1.[次数], 0) + ISNULL(t2.[次数], 0) AS [总次数]
FROM
(....) AS t1
FULL OUTER JOIN
(....) AS t2
ON t1.[详情]=t2.[详情]