0
我的數據庫中有兩列。欄r
和欄l
。 我有兩行。行302
和行303
。MYSQL計算返回錯誤的值
對於302
行,我有以下數據
---------------------------
| k_id | l | r |
|--------------------------
| 302 | 400 | 0 |
| 303 | 0 | 400 |
---------------------------
我試圖運行SQL語句在l
行l
選擇總。
在這種情況下,計算結果必須是:400 - 400 = 0
。但是當我運行查詢時,我得到400
而不是0
。
有人知道我爲什麼沒有得到正確的答案嗎?
這裏是我的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
爲什麼'極限'? –
爲什麼要使用COALESCE。爲什麼不加上「l」,然後減去「r」呢? – Difster
我刪除了限制,沒有限制的響應是三行,第一行:'400',第二行:'-400',第三行:'0' – John