0

我有两个出价列bidsprice1bidsprice2的出价表。并且所有用户都有bidsprice1 金额,有些用户也有bidsprice2 金额

我想计算sum(bidsprice2)基于bidsprice2,如果某些用户有 null bidsprice2,那么基于它的bidsprice1.

如何编写这个求和查询?

4

2 回答 2

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
于 2013-01-09T17:05:39.147 回答
0
SUM(CASE WHEN bidsprice2 IS NULL THEN bidsprice1 ELSE bidsprice2 END)

在 MySQL 中

于 2013-01-09T17:06:35.953 回答