关于限制条件的公式计算解决思路
关于限制条件的公式计算
select aa .渠道,sum(cast((aa.交易金额*aa.分公司利润) as float))as 总额
from aa
group by 渠道
我想设置个条件就是 交易金额大于3333 公式使用aa.交易金额*aa.分公司封顶这个公式
最后计算所有综合
SQL SEVER里能不能设置一个函数X 大于这个X就使用另外的条件计算求和
------解决思路----------------------
select aa .渠道,sum( case when aa.交易金额>3333 then cast((aa.交易金额*aa.分公司利润) as float) else 0 end) as 总额
from aa
group by 渠道
------解决思路----------------------
select aa.渠道,sum(cast(
(CASE WHEN aa.交易金额>3333 THEN aa.交易金额*aa.分公司封顶 ELSE aa.交易金额*aa.分公司利润 END)
as float))as 总额
from aa
group by 渠道
用CASE
------解决思路----------------------
select aa.渠道,sum(cast(
(CASE WHEN aa.交易金额>3333 THEN aa.交易金额*aa.分公司封顶 ELSE aa.交易金额*aa.分公司利润 END)
as float))as 总额 OVER(PARTITION BY 渠道)
from aa
可以使用开窗函数
select aa .渠道,sum(cast((aa.交易金额*aa.分公司利润) as float))as 总额
from aa
group by 渠道
我想设置个条件就是 交易金额大于3333 公式使用aa.交易金额*aa.分公司封顶这个公式
最后计算所有综合
SQL SEVER里能不能设置一个函数X 大于这个X就使用另外的条件计算求和
------解决思路----------------------
select aa .渠道,sum( case when aa.交易金额>3333 then cast((aa.交易金额*aa.分公司利润) as float) else 0 end) as 总额
from aa
group by 渠道
------解决思路----------------------
select aa.渠道,sum(cast(
(CASE WHEN aa.交易金额>3333 THEN aa.交易金额*aa.分公司封顶 ELSE aa.交易金额*aa.分公司利润 END)
as float))as 总额
from aa
group by 渠道
用CASE
------解决思路----------------------
select aa.渠道,sum(cast(
(CASE WHEN aa.交易金额>3333 THEN aa.交易金额*aa.分公司封顶 ELSE aa.交易金额*aa.分公司利润 END)
as float))as 总额 OVER(PARTITION BY 渠道)
from aa
可以使用开窗函数