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;
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;
追问
这个语句执行的时候是没有错误的。谢谢!!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询