小张加把劲 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;

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

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog