日期:2014-05-17  浏览次数:20720 次

继续上午的问题,刚才不小心结错贴,给错分了,抱歉。

我具体描述一下:
我先查询数据库,得到一个中间结果,如:

商品号 商品描述           销售数 退货数 日期
001 苹果 3 0 20070101
001 苹果 5 -1 20070102
001 苹果 6 -2 20070103
002 香蕉 3 0 20070101
002 香蕉 4 0 20070102
002 香蕉 4 -1 20070103

然后我需要按商品号统计销售数,得到结果:

商品号 商品描述               销售数
001 苹果 11
002 香蕉 10

这里有两个问题:
1、如何把   销售数   和   退货数   相加?
2、group   by语句我还不懂它是怎么分组的?如果我只是group   by   商品号,它就老是报错。但如果我选group   by   商品号,商品描述   它就不报错。

------解决方案--------------------
select 商品号,商品描述,sum(销售数)+sum(退货数) from 数据库名 group by 商品号,商品描述。

关于group by的具体语法查看sql语法帮助。

------解决方案--------------------
:) 觉得奇怪吧

用group by 分组 group by 后面跟的字段(AA) 那么select 后面也应该有(select AA...) 比如:select aa,bb from tablename group by aa,bb

要想group by 后面有的字段而select 后面不写该字段,需要用函数,比如:select aa,min(bb) bb from tablename group by aa

销售数 和 退货数 在分组的时候用sum()函数加起来就可以了