如何分组加总后再按加总结果再分组加总

MorningTea 2005-07-06 04:46:47
实例:
每个人每次可以吃两种水果,李子和布林,
可以吃多次,但是必须前一次的所有水果吃完才可以拿下次的水果
现在要按每個人吃李子个数分组,算出布林的个数
例如:
名字   吃的李子個數 吃的布林的
A      1      2
A      2      2
B      2      3
B      1      1
C      1      2

需要的結果集
吃李子的個數  布林個數
3        8  (A,B都吃了3個李子,他們倆一共吃了8個布林)
1        2  (C吃了1個李子,吃了2個布林)


我要获取上面的结果应该如何做?
...全文
146 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
MorningTea 2005-07-09
  • 打赏
  • 举报
回复
ok! 谢谢
vivianfdlpw 2005-07-06
  • 打赏
  • 举报
回复
--创建测试环境
create table #
(
[名字] varchar(20),
[吃的李子個數] int,
[吃的布林的] int
)
insert #
select 'A',1,2 union
select 'A',2,2 union
select 'B',2,3 union
select 'B',1,1 union
select 'C',1,2

--测试
select [吃的李子個數]=A,[吃的布林的]=sum([B])
from
(
select [名字],
[A]=sum([吃的李子個數]),
[B]=sum([吃的布林的])
from # group by [名字]
)T group by A order by sum([B]) desc

--删除测试环境
drop table #

--结果
/*

吃的李子個數 吃的布林的
----------- -----------
3 8
1 2

(所影响的行数为 2 行)
*/
MorningTea 2005-07-06
  • 打赏
  • 举报
回复
select xm,sum(lz) as lz1 ,sum(bl) as bl1 from db group by xm order by lz1

---这样不行,我已经试过了
tjficcbw 2005-07-06
  • 打赏
  • 举报
回复
select xm,sum(lz) as lz1 ,sum(bl) as bl1 from db group by lz1,xm order by lz1 desc
tjficcbw 2005-07-06
  • 打赏
  • 举报
回复
select xm,sum(lz) as lz1 ,sum(bl) as bl1 from db group by xm order by lz1

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧