CNAME LB SCORE sbb
-------------------- -------------------------------------
数学 期中 50 60
期末 60 60
语文 期中 50 60
期末 60 60现在得出上表`问如何将 score 和SBB两列的数据SUM到一起(不能用期末和期中做为条件SUM,因为实际上那个字段有几十个)数学 期中 50 60
期末 60 60
语文 期中 50 60
期末 60 60
期末 120 120
期中 100 120
-------------------- -------------------------------------
数学 期中 50 60
期末 60 60
语文 期中 50 60
期末 60 60现在得出上表`问如何将 score 和SBB两列的数据SUM到一起(不能用期末和期中做为条件SUM,因为实际上那个字段有几十个)数学 期中 50 60
期末 60 60
语文 期中 50 60
期末 60 60
期末 120 120
期中 100 120
解决方案 »
- Oracle中多用户操作表很慢!!!
- 字符型数据转换为日期型数据
- 50分求oracle写文件的问题,服务器客户端是分开的
- SQL 分析 谢谢!
- 我的oracle一个表空间的数据库文件被脱机了,怎么样才能改成联机。
- ESQL中这个where子句怎么写?
- 求助:在oracle表中取特定的字段,如何实现???
- SQL> sqlldr userid=system/manager@ mingal control=input.ctl这错在哪?
- 错误'ORA-01779:无法修改与非键值保存表对应的列.'如何解决?
- ora-01033 ORACLE initialization or shutdown in process
- 我要重做系统,怎么保留oracle
- 纵表转化为横表求助
将SBB列的期中SUM出来,期末SUM出来。
等等`````~`好多列`~~~`!
数学 期中 50 60
期末 60 60
语文 期中 50 60
期末 60 60 上面是现在查询出来的结果!预想出来结果是下面`!
CNAME LB
数学 期中 50 60
期末 60 60
语文 期中 50 60
期末 60 60
期末 120 120 ----这是我想要的结果
期中 100 120 ----这是我想要的结果
------- --------- ------- ----------
Chinese MIDDLE 70 80
Chinese END 80 90
Math END 80 90
Math MIDDLE 90 100
select NAME, COURSE, sum(MARK),sum(MARK_SB),GROUPING_id(NAME,course)
from t_ group by rollup(NAME,COURSE) having GROUPING_id(NAME,course) <3 NAME COURSE MARK MARK_SB
------- --------- ------- ----------
Chinese MIDDLE 70 80
Chinese END 80 90
Math END 80 90
Math MIDDLE 90 100
NAME COURSE SUM(MARK) SUM(MARK_SB) GROUPING_ID(NAME,COURSE)
------- --------- ------------ --------------- ---------------------------
Math END 80 90 0
Math MIDDLE 90 100 0
Math (null) 170 190 1
Chinese END 80 90 0
Chinese MIDDLE 70 80 0
Chinese (null) 150 170 1 6 record(s) selected [Fetch MetaData: 0/ms] [Fetch Data: 0/ms]
V_COLUMNNAME VARCHAR2(50);currsor ccc as
select column_name from user_tab_columns where data_type='NUMBER' and table_name=''
根据这个写个循环语句
V_SQL := 'select NAME , COURSE ';ccc into V_COLUMNNAME V_SQL := V_SQL || ',sum('||V_COLUMNNAME||')';end;V_SQL := V_SQL || 'from tablename group by NAME , COURSE ';
然后运行V_SQL;大致意思就是这个。