Mysql 若应用了条件,则应执行查询

Mysql 若应用了条件,则应执行查询,mysql,sql,laravel,laravel-5.3,Mysql,Sql,Laravel,Laravel 5.3,我想对那些只有(买入利率-卖出利率)=结果>0的列进行求和 换句话说,如果买入利率大于卖出利率,则买入利率-卖出利率=利润,将此计算应用于所有行并将所有结果相加 DB::table('finaltrade') ->选择(DB::raw(“总和(ABS(买入利率-卖出利率))作为总利润”)) ->get()在SQL中,我认为您需要: select sum(buy_rate - sell_rate) as profit from finaltrade where buy_rate > sel

我想对那些只有(买入利率-卖出利率)=结果>0的列进行求和

换句话说,如果
买入利率
大于
卖出利率
,则
买入利率-卖出利率=利润
,将此计算应用于所有行并将所有结果相加

DB::table('finaltrade')
->选择(DB::raw(“总和(ABS(买入利率-卖出利率))作为总利润”))

->get()在SQL中,我认为您需要:

select sum(buy_rate - sell_rate) as profit
from finaltrade
where buy_rate > sell_rate;
如果不需要
where
子句,请使用条件聚合:

select sum(case when buy_rate > sell_rate then buy_rate - sell_rate else 0 end) as profit
from finaltrade;
你可以做:

select sum((buy_rate > sell_rate)*(buy_rate - sell_rate)) as profit from finaltrade;