这样要求的统计汇总的sql语句怎么写

thronichak 2016-02-29 09:12:44
我的表结构是:
id   number   grade   school
1    100     一年级   一小
2    120     二年级   一小
3    130     一年级   二小
4   80      二年级   二小

我想得到的统计结果是
    学生人数  二年级人数
一小  220    120
二小  210    80


这样的sql语句应该怎么写?
...全文
121 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

with tb(id,number,grade,school)as(
select 1,100,'一年级','一小' union all
select 2,120,'二年级','一小' union all
select 3,130,'一年级','二小' union all
select 4,80,'二年级','二小')
select school,SUM(number) as '学生人数',SUM(case when grade='二年级' then number else 0 end) as '二年级人数' from tb group by school order by school desc
Ekun_sky 2016-02-29
  • 打赏
  • 举报
回复
with tb(id,number,grade,school)as(
select 1,100,'一年级','一小' union all
select 2,120,'二年级','一小' union all
select 3,130,'一年级','二小' union all
select 4,80,'二年级','二小')

select school,SUM(number) 学生人数,
max(case when  grade='二年级' then number else 0 end) as 二年级人数
from tb  group by school order by 1 desc

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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