关于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函数
不过个人建议你还是考虑一下你的分组,总觉得这样分组不合适。