打印時的數量沒問題,但是當 sum 時就數字錯誤?
SELECT ss.quan FROM `stock` as ss
JOIN `order_record` as r ON r.order_id = ss.order_id
WHERE ss.from = 'c'
AND r.from = 'c'
AND r.status = 'ing'
AND ss.prod_id = 120
GROUP BY ss.order_id
這是從數據庫撈出的:
這個數字是沒問題的
但是當我改成這樣
SELECT sum(ss.quan) as num FROM `stock` as ss
JOIN `order_record` as r ON r.order_id = ss.order_id
WHERE ss.from = 'c'
AND r.from = 'c'
AND r.status = 'ing'
AND ss.prod_id = 120
// GROUP BY ss.order_id
數字變成了 32
如果加入 GROUP BY ss.order_id
一樣是 32
這很明顯有五個不同的 order_id
這可能各位會很難理解
我只是想問說明明一開始數字是對的
當 sum 後就不對了
當使用 sum 要注意什麼事情?不能這樣直接 sum ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你在外面一层进行计算验证一下不就好了。。肯定是你的数据和你的逻辑是有问题的。如果数据不对的话。
估计是因为你的ss.order_id有重复的数据, 相关数据都贴上来看看