如何根据字段值求和(mysql)

cyb*_*fly 4 mysql sql sum

我把这张桌子命名了 tb_stock

ID AMOUNT FLAG LAST_AMOUNT
1   5     N    0                
2   0     Y    8                
3   0     Y    7                
4   6     N    0
Run Code Online (Sandbox Code Playgroud)

现在我想根据FLAG值对值求和.例如,如果FLAG值为N,则它将从AMOUNT字段求和,如果FLAG值为Y,则它将从LAST_AMOUNT字段求和.

所以总金额是26(5 + 8 + 7 + 6).

这可以通过使用mysql实现,还是会涉及到php?

谢谢.

Boh*_*ian 5

SELECT SUM(CASE WHEN FLAG = 'Y' THEN LAST_AMOUNT ELSE AMOUNT END) AS TOTAL
FROM tb_stock
Run Code Online (Sandbox Code Playgroud)