当前位置: 代码迷 >> Access >> 纵向转横向解决方案
  详细解决方案

纵向转横向解决方案

热度:129   发布时间:2016-05-06 02:28:25.0
纵向转横向
我有一个 Access 的数据表Test,结构如下
id 学号 科目 成绩
-----------------------------
1 2 语文 89
2 2 数学 67
3 2 英语 78
4 3 语文 85
5 3 数学 67
6 3 英语 55
7 4 语文 76
8 4 数学 73
9 4 英语 84

---- 注意,科目是动态增加的
想通过代码实现为:
学号 语文 数学 英语 总分 平均分
2 89 67 78 234 78
3 85 67 55 207 69
4

请各位大侠帮解决下,主要是ACCESS本人没有用过。  


------解决方案--------------------
select 学号,
sum(iif(科目='语文',成绩,0)) as 语文,
sum(iif(科目='数学',成绩,0)) as 数学,
sum(iif(科目='英语',成绩,0)) as 英语,
sum(成绩) as 总分,
avg(成绩) as 成绩
from Test
group by 学号
------解决方案--------------------
问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧)
------解决方案--------------------
SQL code
TRANSFORM first(成绩)SELECT 学号,COUNT(成绩) AS 总分,AVG(成绩) AS 平均分FROM 成绩表GROUP BY 学号PIVOT 科目
  相关解决方案
本站暂不开放注册!
内测阶段只得通过邀请码进行注册!
 
  • 最近登录:Mon Feb 20 18:55:46 CST 2017
  • 最近登录:Mon Feb 20 18:55:46 CST 2017
  • 最近登录:Mon Feb 20 18:55:46 CST 2017
  • 最近登录:Mon Feb 20 18:55:46 CST 2017
  • 最近登录:Mon Feb 20 18:55:46 CST 2017