sql 查询时候 用了group by sum统计有误?

a表编号通话时间通话次数b表编号销售量查询结果:编号通话时间通话次数销售量select编号,sum(通话时间),sum(通话次数),sum(销售量)from表Aleftj... a表
编号 通话时间 通话次数b表 编号 销售量
查询结果: 编号 通话时间 通话次数 销售量
select 编号,sum(通话时间),sum(通话次数),sum(销售量) from 表A left join 表B on a.编号=b.编号 group by a.编号 这样查询,通话次数超过两次。统计出来的销售量就有错误?
展开
 我来答
匿名用户
2013-11-02
展开全部
这里统计出来的销售量肯定是有问题的。在表A left join 表 B on a.编号=b.编号的情况下,当编号相同的记录在a表中有多条通话记录的时候,销售量也就扩大到多少倍.例如:编号为1的,在a表中有5条通话记录,在b表中有一条记录,销售量为4.然后a表和b表一关联,就出现了5条都有销售量为4的记录,在这样的情况下,sum(销售量)的结果就是5(条记录)*4(每条记录的销售量)=20.得到这样的结果肯定不是你所需要的。 我感觉是不是你的需求没有弄清楚,如果你的要求就是这样的,那逻辑就有问题了。希望你能明白我的意思。如果不明白,你把你的具体的需求给出来。我帮你写出Sql。 如果对你有帮组,希望采纳。
匿名用户
2013-11-02
展开全部
你这个是只要统计销售量还是其它?只统计销售量:select a.编号,a.通话时间,a.通话次数,sum(销售量)AS 销售量 from A a left join B b on a.编号=b.编号 group by a.编号,a.通话时间,a.通话次数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
裔琦庞平卉
2019-06-25 · TA获得超过4785个赞
知道大有可为答主
回答量:3156
采纳率:34%
帮助的人:164万
展开全部
你用的left
join
那么a表的所有项都会至少出现1次,而不管是否有相应的b表项和它匹配.
这样一旦没有相应的b表项,那么对应的销售量就是个空值null,
而聚合函数sum用来统计带有空值的是得不到结果的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式