一条SQL的查寻语句,麻烦下。
时间:2011-12-03
来源:互联网
现有一表,如下:
学校 班级 学生 费用
一中 一年级 A 9
一中 一年级 B 9
一中 一年级 C 9
一中 二年级 D 9
二中 一年级 E 9
二中 一年级 F 9
二中 二年级 G 9
二中 二年级 H 10
要求 :要求查出每个学校对应班级的学生数量和费用总计,结果应该如下:
学校 一年级 二年级
学校 人数 费用 人数 费用
一中 3 27 1 9
二中 2 18 2 19
求查寻语句,年级可以不显示(一年级,二年级)这样的结果也行的,看的懂就好了。
学校 人数 费用 人数 费用
一中 3 27 1 9
二中 2 18 2 19
学校 班级 学生 费用
一中 一年级 A 9
一中 一年级 B 9
一中 一年级 C 9
一中 二年级 D 9
二中 一年级 E 9
二中 一年级 F 9
二中 二年级 G 9
二中 二年级 H 10
要求 :要求查出每个学校对应班级的学生数量和费用总计,结果应该如下:
学校 一年级 二年级
学校 人数 费用 人数 费用
一中 3 27 1 9
二中 2 18 2 19
求查寻语句,年级可以不显示(一年级,二年级)这样的结果也行的,看的懂就好了。
学校 人数 费用 人数 费用
一中 3 27 1 9
二中 2 18 2 19
作者: sxssg 发布时间: 2011-12-03
行转列,楼主搜搜例子就会了。
作者: AcHerat 发布时间: 2011-12-03
SQL code
create table tb(学校 varchar(10),班级 varchar(10),学生 varchar(2),费用 int) insert into tb select '一中','一年级','A',9 union all select '一中','一年级','B',9 union all select '一中','一年级','C',9 union all select '一中','二年级','D',9 union all select '二中','一年级','E',9 union all select '二中','一年级','F',9 union all select '三中','二年级','G',9 union all select '三中','二年级','H',10 DECLARE @sql NVARCHAR(2000) set @sql='select 学校' select @sql=@sql+',sum(case 班级 when'''+班级+''' then 1 else 0 end) ['+班级+'人数],'+ 'sum(case 班级 when'''+班级+''' then 费用 else 0 end) ['+班级+'费用]' from tb group by 班级 SET @sql=@sql+' from tb group by 学校' EXEC(@sql) /* 学校 二年级人数 二年级费用 一年级人数 一年级费用 ---------- ----------- ----------- ----------- ----------- 二中 0 0 2 18 三中 2 19 0 0 一中 1 9 3 27 (3 行受影响)
作者: ssp2009 发布时间: 2011-12-03
SQL code
select 学校, sum(case 班级 when '一年级' then 1 else 0 end) as 人数, sum(case 班级 when '一年级' then 费用 else 0 end) as 费用, sum(case 班级 when '二年级' then 1 else 0 end) as 人数, sum(case 班级 when '二年级' then 费用 else 0 end) as 费用 from tb group by 学校
作者: fredrickhu 发布时间: 2011-12-03
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28