求教,这个需求下,统计SQL如何写?

2013-06-04 14:00:33 +08:00
 zl8723
表:temp
id branch_name score level
1 成都 1 1
2 重庆 1 1
3 成都 2 2

统计结果:

     level=1  level=2  合计
机构 [score 次数] [score 次数] [score 次数]

也就是说:统计在不同level下score的总分值和次数。

写来写去,都在绕圈子,求指教!单起来写,没啥问题,不知道咋合起来。
3130 次点击
所在节点    MySQL
4 条回复
lichao
2013-06-04 14:06:58 +08:00
select branch_name,

sum(case level when 1 then 1 else 0 end),
sum(case level when 2 then 1 else 0 end),

sum(case level when 1 then 1 else 0 end)
+
sum(case level when 2 then 1 else 0 end)

group by branch_name
lichao
2013-06-04 14:08:42 +08:00
select branch_name,

sum(case level when 1 then score else 0 end),
sum(case level when 1 then 1 else 0 end),

sum(case level when 2 then score else 0 end),
sum(case level when 2 then 1 else 0 end),

sum(case level when 1 then score else 0 end)
+
sum(case level when 2 then score else 0 end),

sum(case level when 1 then 1 else 0 end)
+
sum(case level when 2 then 1 else 0 end)

group by branch_name
zl8723
2013-06-04 14:17:02 +08:00
@lichao 谢谢,感谢已送出。
zl8723
2013-06-04 14:39:00 +08:00
select branch_name,
sum(case level when 1 then final_score else 0 end) z_s,
count(case level when 1 then final_score else null end) z_c,

sum(case level when 2 then final_score else 0 end) f_s,
count(case level when 2 then final_score else null end) f_c,

sum( final_score) t_s,
count(final_score) t_c
from temp
group by branch_name

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/71176

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX