oracle sql查询 中怎么两次使用sum?

l例如有表A 卡号 本金 地区 入库数 销量 退回 日期
01 2 A 10 0 0 20150101
01 2 A 0 2 0 20150105
01 2 A 0 0 1 20150112
01 2 A 0 5 0 20150120

我想得出 结果
卡号 本金 地区 剩余 销量 账期
01 2 A 4 7 201501
剩余=(总入库-总销量-总回退)
这个怎么查出来啊

select 卡号,本金,地区,sum(入库数)-sum(销量)-sum(退回) as 剩余,sum(销量) from 表A group by  卡号,本金,地区,trunc(日期,'dd');--日期:日期型
--如果日期为字符型,则换成:substr(日期,1,6)

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-08-12
select 卡号,本金,地区,sum(入库数-销量-退回) 剩余,sum(销量),substr(日期,1,6) 帐期
from 表A
group by 卡号,本金,地区,substr(日期,1,6)

参考以上代码。

oracle中的“sum”如何使用?
使用如下:sum是求和函数,例如:select sum(列名) from 表名,用于计算列的总和。1、sum为聚合函数:是 sql语言中一种特殊的函数:聚合函数,SUM, COUNT, MAX, MIN, AVG等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。2、其他举例:SELECT SUM(population) FROM COUNTRY ,这里的SU...

oracle 中 sum 如何使用,
使用如下:sum是求和函数,例如:select sum(列名) from 表名,用于计算列的总和。sum是求指定字段下所有数据的相加总和,select sum(o.amount) from pos_order o 意思就是求出amount这个字段下的数据总和。1、sum为聚合函数:是 SQL语言中一种特殊的函数:聚合函数,SUM, COUNT, MAX, MIN, AV等。

SQL中能否 sum+sum
可以,我在oracle中作如下语句:select sum(1)+sum(2)+sum(3) from dual 目前没有sql server。没有记错的话,肯定可以实现的。

在oracle中按要求统计行数,怎么运用sum和count函数?
1、首先在oracle中avg函数,使用聚合函数在计算平均值时,会报空值排除在外。2、刚才在计算的时候结果是550,而comm列的总各为2200 所以计算平均时是只计算了除了空值的行。3、需要注意的是,avg函数不能单独使用在where条件中不然会报如下错误。4、如果想要查询出大于平均值的结果,需要使用group by ....

数据库查询问题:两个sum比较
1 取出2003年四月发薪水最多的部门 select DEPARTMENT , sum(PAYMENT ) PAYMENT from worker where substr(DARDAY,1,7)='2003\/04'group by DEPARTMENT order by PAYMENT desc;2 取出所有曾经1个月发薪水1次以上的人员编码,姓名,发薪年月,发薪次数,发薪总数,select CODE , NAME , substr(DAR...

Oracle中的SQL查询语句:包含表一所有数据,根据表二中的某一字段的不同...
sleect a.部门,sum(case when b.正负 = 'Y' then b.分值 else 0 end) 正分,sum(case when b.正负 = 'N' then b.分值 else 0 end) 负分 from table1 a,table2 b where a.id = b.id(+)group by a.部门 右关联就好了,你试下,谢谢!

各位大侠,给我说说oracle中sum到底什么用法,给得详细点,杜绝在网上搜到...
1.SUM(列名)是SQL内置函数,用于求这一列数据的和,如果跟GROUP BY 要注意是求这一组记录的这一列数据之和。2.case when…then…else…end 这是PL\/SQL语句,意思是遇到什么情况,就怎么怎么做,没有遇到的话,就按else后面的做,最后end结束。3.sum(case when s_id=1 then p_num else 0 ...

oracle sql 查询出sum(tot)一个数字字段,想转换成保留两位TO_CHAR(s...
select to_char(0.23,'fm0.99') from dual第一行你写的没看明白,第二行最后少个end,第三行decode不支持这种写法,可以换成 decode(sign(sum(tot)-1),1,TO_CHAR(sum(tot),'999,999,999.99'),TO_CHAR(sum(tot),'0.99'))

sql中怎么将两个做了sum之后的值相加
(select sum(a*b) as ss2 from m , h1where type = 2 and m.code = h1.code)s2)这样就可以了,Oracle肯定可以,其它也应该可以,但是要注意ss1 和ss2如果为null的问题就可以了 追问 报错了 缺失右括号 追答 (ss1 +ss2) 追问 还是一样报 右括号缺失 错误在是 s1后的, 更多追问 本回答由提问者...

在Oracle中,我进行了一个查询。是对金额的统计 用的是 SUM函数。可是...
嗯?在ORACLE里面这种查询很简单啊,用case when语句判断一下就可以了。select case when flag = 1 then sum(金额) when flag = 2 then sum(-金额) end from 表;还可以group by,比如:select 用户,flag,case when flag = 1 then sum(金额) when flag = 2 then sum(-金额) 金额 end ...

相似回答