Mysql求和条件
我试图从下表中获取总成本,如果设置了Mysql求和条件,mysql,sql,Mysql,Sql,我试图从下表中获取总成本,如果设置了Include\u Extra,则使用相应的Extra\u Seat\u cost列中的值。我是mysql新手,所以非常感谢您的帮助 +-----------+-----------------+---------------+ | ID | Cost | Extra_Seat_Cost | Include_Extra | +-----------+-----------------+---------------+ | 3 | 20 | 15
Include\u Extra
,则使用相应的Extra\u Seat\u cost
列中的值。我是mysql新手,所以非常感谢您的帮助
+-----------+-----------------+---------------+
| ID | Cost | Extra_Seat_Cost | Include_Extra |
+-----------+-----------------+---------------+
| 3 | 20 | 15 | 1 |
| 4 | 10 | 5 | 0 |
+----+------+-----------------+---------------+
结果应该是total=$45当出现以下情况时,您可以将SUM与一起使用:
SELECT SUM(Cost + CASE WHEN Include_Extra = 1 --if Include_Extra is bool delete = 1
THEN COALESCE(Extra_Seat_Cost,0)
ELSE 0 END) AS total
FROM table_name;
我添加了COALESCE
,以防额外座位成本
可以为空。数字+NULL
产生NULL
。
如果您有分组列,请使用:
SELECT group_column, SUM(Cost + CASE WHEN Include_Extra = 1
THEN COALESCE(Extra_Seat_Cost,0)
ELSE 0 END) AS total
FROM table_name;
GROUP BY group_column;