我想对sql中的两列求和,如果和大于0,则将其输出到其中一列,如果小于0,则输出到另一列。
我的代码如下所示:
SELECT IF(SUM(`processed_quantity_long`,-1*`processed_quantity_short`) > 0,SUM(`processed_quantity_long`,-1*`processed_quantity_short`) AS `Position Long`,SUM(`processed_quantity_long`,-1*`processed_quantity_short`) AS `Position Short`)
From table A
GROUPBY date
它将返回以下错误:
sql语法有错误;检查与您的mariadb服务器版本对应的手册,以获取在'-1'附近使用的正确语法* processed_quantity_short
)>0,总和( processed_quantity_long
,-1*“第5行已处理”
不确定如何解决此错误。
3条答案
按热度按时间m3eecexj1#
SUM
不接受两个参数。在计算和之前,只需减去这两个数字:okxuctiv2#
你在里面做错了如果
如果语句如下所示,则为一般语句
或用例
vfhzx4xs3#
也许编写代码最简单的方法是: