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