我的出价表包含两个出价价格列 bidprice1 和 bidprice2 。并且所有用户都有 bidprice1金额,有些用户还有 bidprice2金额。
我想基于sum(bidsprice2)
计算bidsprice2
,如果某些用户为空bidsprice2
,则基于其bidsprice1
。
如何编写此求和查询?
答案 0 :(得分:1)
使用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
答案 1 :(得分:0)
SUM(CASE WHEN bidsprice2 IS NULL THEN bidsprice1 ELSE bidsprice2 END)
在MySQL中