日期:2014-05-18  浏览次数:20569 次

关于GROUP BY 的用法?
数据:
币种   科目     客户号   金额
001       002         003     1000
002       002         003     2000
003       002         001     3000
我想显示上述四个字段,输出结果按客户号汇总金额,但用GROUP   BY   客户号时出错,系统提示在GROUP   LIST   中要加前三个字段,这样就达不到只显示一行汇总客户的数据,如何才能实现要求呢?

------解决方案--------------------
楼主列出的数据是原数据还是你需要的数据阿?
如果只按客户号汇总
那么第一二条数据汇总完以后的币种你想要显示哪个呢?
------解决方案--------------------
select c 客户号,max(d) 客户名称,sum(e) 金额 from tb group by c
------解决方案--------------------
行是 行阿

可以你的币种 不一样

这样直接把金额加起来 正确吗!!
------解决方案--------------------
对不起问题说的不是很清楚,分几种情况吧:
如果只要根据客户号分组,则提取的字段就没必要要有币种,和科目了。所以可以执行
select 客户号,min(客户名称) as 客户名称,sum(金额) as 金额 from 表 group by 客户号
如果真要科目号和币种的话,可以和 客户名称这个字段一样,用max,或者min函数

不过个人建议你还是考虑一下你的分组,总觉得这样分组不合适。