mysql中多表查询group和sum同用的问题

selecta.senderid,sum(b.usedspace)/1024fromtab_filelista,tab_senderbwherea.deleted=0an... select a.senderid,sum(b.usedspace)/1024 from tab_filelist a,tab_sender b where a.deleted = 0 and a.senderid=b.userid GROUP by a.senderid;和select A.senderid,b.usedspace/1024 from tab_filelist a,tab_sender b where a.deleted = 0 and a.senderid=b.userid GROUP by a.senderid;中查询出来的b.usedspace结果为什么不一样? 展开
 我来答
匿名用户
2013-03-18
展开全部
你确定你的第二条SQL没有问题吗?

select A.senderid, b.usedspace / 1024 -- 此处应该有错误,是不是sum(b.usedspace / 1024)
from tab_filelist a, tab_sender b
where a.deleted = 0
and a.senderid = b.userid
GROUP by a.senderid;
如果这样除的话一般会有误差,当一条数据时可能少,但数据多了的话,误差就会大了
如果有求和、整除的话,建议先求和,再整除吧,使用第一条SQL
select a.senderid, sum(b.usedspace) / 1024
from tab_filelist a, tab_sender b
where a.deleted = 0
and a.senderid = b.userid
GROUP by a.senderid;
追问
这个语句执行的时候是没有错误的。谢谢!!
小刺猬001
2013-03-18 · TA获得超过730个赞
知道小有建树答主
回答量:1087
采纳率:73%
帮助的人:344万
展开全部
结果的差距大不大??sum(b.usedspace)/1024 b.usedspace/1024 除以1024得不到整数的时候有舍入吧
追问
我查出来的结果差距还是比较大的,有的会差好几倍的。
追答
我也不大懂  不过觉得group应该没什么问题   你再自个儿想想吧  祝早日解决
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式