SELECT
SUM(
CASE
WHEN cumulative = 1
THEN percent
ELSE 0
END)
FROM phppos_items_taxes;
鉴于上述声明,这是否可以执行以下操作:
mysql> select * FROM phppos_items_taxes;
+---------+-----------+---------+------------+
| item_id | name | percent | cumulative |
+---------+-----------+---------+------------+
| 1 | Tax 1 | 8.00 | 0 |
| 1 | Tax 2 | 10.00 | 1 |
| 3 | Sales Tax | 8.00 | 0 |
| 4 | Tax 1 | 20.00 | 0 |
| 4 | Tax 2 | 20.00 | 0 |
+---------+-----------+---------+------------+
这是否为每行累积=1的百分比求和?如果累积!=1,然后求和0。
最佳答案
是的,的确如此!
一个更简洁的查询(imho)将使用IF
语句:
SELECT SUM(IF(cumulative = 1, `percent`, 0)) FROM phppos_items_taxes;
关于mysql - 带有case语句的Mysql SUM,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6878090/