0

私は 2 つの入札価格列bidsprice1bidsprice2を持つ入札テーブルを持っています。また、すべてのユーザーがbidsprice1 amountを持っており、一部のユーザーはbidsprice2 amountを持っています。

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 に答える