作者:ikmb@163.com
情景:有一个表
id age g
1 1 a
2 1 b
3 1 a
4 1 c
5 1 c
6 1 b
7 1 b
8 1 a
我们想按照g分组,同时计算age的总合
版本一:
select sum(age) from t1 group by g
结果:
3
3
2
分析:可以看出每一个分组得出了一个总合,不是总共的总计标量
版本二:
declare @r_count_sql int
select @r_count_sql=0
select @r_count_sql=sum(age) from t1 group by g
select @r_count_sql
结果:
2
分析:可以看出只返回了最后一个分组的总计
版本三:
declare @r_count_sql int
--必须先赋初值
select @r_count_sql=0
select @r_count_sql=@r_count_sql+sum(age) from t1 group by g
select @r_count_sql
结果:
8
分析:结果正确
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。