小张加把劲 2019-10-18 09:35 采纳率: 100%
浏览 610
已采纳

求助:现在需要在oracle中先按照单位分组,然后将单位的各个数值信息进行相加统计,汇总成一行,请大神帮助,谢谢!!!

数据库:ORACLE 11G

这是我根据工作环境创建的简化的表,实际单位有上百个,需要一个比较通用的方法。
原始数据表结构如下:

图片说明

需要达到的效果如下图:图片说明

也就是先根据单位分类,然后将后面四个属性中的数值进行合并相加。

如果达不到这样的效果也可以在每类单位下面加一行合计。

测试表建表代码如下:

-- Create table
create table TONGJI002
(
  id     NUMBER,
  danwei VARCHAR2(100),
  yilei  NUMBER,
  erlei  NUMBER,
  sanlei NUMBER,
  silei  NUMBER
)
tablespace USERS
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64
    next 1
    minextents 1
    maxextents unlimited
  );
insert into tongji002 (ID, DANWEI, YILEI, ERLEI, SANLEI, SILEI) values (1, '第一中学', 2, 2, 5, 6);
insert into tongji002 (ID, DANWEI, YILEI, ERLEI, SANLEI, SILEI) values (2, '第一中学', 1, null, 4, null);
insert into tongji002 (ID, DANWEI, YILEI, ERLEI, SANLEI, SILEI) values (3, '第一中学', null, 3, null, 9);
insert into tongji002 (ID, DANWEI, YILEI, ERLEI, SANLEI, SILEI) values (4, '第二中学', null, null, 7, 8);
insert into tongji002 (ID, DANWEI, YILEI, ERLEI, SANLEI, SILEI) values (5, '第二中学', null, 5, null, null);
insert into tongji002 (ID, DANWEI, YILEI, ERLEI, SANLEI, SILEI) values (6, '第三中学', 3, 3, 4, 8);
insert into tongji002 (ID, DANWEI, YILEI, ERLEI, SANLEI, SILEI) values (7, '第三中学', 1, null, 5, null);
insert into tongji002 (ID, DANWEI, YILEI, ERLEI, SANLEI, SILEI) values (8, '第三中学', 1, 6, null, 9);
insert into tongji002 (ID, DANWEI, YILEI, ERLEI, SANLEI, SILEI) values (9, '第三中学', null, null, 8, 8);

急需大神帮助,跪谢!!!

  • 写回答

1条回答 默认 最新

  • 空白如空 2019-10-18 09:52
    关注

    select danwei,sum(yilei),sum(erlei),sum(sanlei),sum(silei) from tongji002 group by danwei;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择