我的出价表包含两个出价列bidsprice1和bidsprice2。所有用户都有 bidsprice1 金额,部分用户还有 bidsprice2 金额。
我想根据bidsprice2
计算sum(bidsprice2)
,如果某些用户的bidsprice2
为空,则根据其 bidsprice1
。
如何编写这个求和查询?
最佳答案
使用COALESCE()
返回第一个非 NULL 参数。它可以直接包装在聚合 SUM()
内。这样做的优点是可以在需要时添加额外的列。
SELECT
/* SUM() based on bidsprice2 if non-null, bidsprice1, or finally 0 if both NULL */
SUM(COALESCE(bidsprice2, bidsprice1, 0)) AS your_sum
FROM yourtable
关于mysql - 不同列的 SQL 求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14242468/