0
私のデータベースには2つの列があります。列r
および列l
。 私は2つの行を持っています。行302
および行303
。行302
についてはMYSQL計算で間違った値が返されます
私は、行l
とl
で合計を選択するために、SQLステートメントを実行しようとしています
---------------------------
| k_id | l | r |
|--------------------------
| 302 | 400 | 0 |
| 303 | 0 | 400 |
---------------------------
次のようなデータを持っています。
この場合、計算は400 - 400 = 0
である必要があります。しかし、クエリを実行すると0
の代わりに400
が得られます。
誰かが正しい回答を得られない理由を知っていますか?ここで
は私のSQL文です:
SELECT COALESCE(SUM(l), 0) - COALESCE(SUM(r), 0) as total
FROM trans
WHERE user_id = '1' AND k_id IN ('302', '303')
GROUP BY k_id WITH ROLLUP LIMIT 0,1
なぜ 'limit'ですか? –
なぜCOALESCEを使用するのですか?単に "l"を加えてから "r"を引いてみるのはなぜですか? – Difster
制限を削除しましたが、応答が3行、最初の行: '400'、2行目:' -400'、3行目: '0' – John