MySQL求和条件

第565章

我正在尝试从下表中获取总费用,如果Include_Extra已设置,请使用相应Extra_Seat_Cost列中的值我是mysql的新手,所以将不胜感激!

+-----------+-----------------+---------------+
| ID | Cost | Extra_Seat_Cost | Include_Extra |
+-----------+-----------------+---------------+
|  3 |   20 |      15         |       1       |
|  4 |   10 |      5          |       0       |
+----+------+-----------------+---------------+

结果应为合计= $ 45

卢卡斯·索佐达(Lukasz Szozda)

你可以用SUMCASE WHEN

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;

SqlFiddleDemo

我添加COALESCE了以防万一Extra_Seat_Cost可以为空。数字+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;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章