jiaoye6789 2017-05-25 01:55 采纳率: 0%
浏览 498

Oracle统计数据脚本最好存储过程可以解决

有这样几条数据

 create table test
(单号 varchar2(10),
投诉类型 int,
投诉地点 varchar2,
投诉时间 date);


insert into test values ('T2',1,'北京',to_date('2017-02-03 15:33:22','yyyy-mm-dd hh24:mi:ss'));
insert into test values ('T3',2,'北京',to_date('2017-02-04 18:53:22','yyyy-mm-dd hh24:mi:ss'));
insert into test values ('T4',1,'天津',to_date('2017-02-05 18:23:22','yyyy-mm-dd hh24:mi:ss'));
insert into test values ('T5',1,'北京',to_date('2017-02-06 14:23:22','yyyy-mm-dd hh24:mi:ss'));

我想统计结果出来是这个效果

序号 地区 2017年1月 2017年2月 2017年3月
1. 北京 NULL 类型1数量2(T2,T5), 类型2数量1(T3) NULL
2. 天津 NULL 类型1数量1(T4) NULL

  • 写回答

1条回答 默认 最新

  • necessary653 2023-06-26 23:10
    关注
    
    
    ```sql
    SELECT *
    FROM (
      SELECT 投诉地点, to_char(投诉时间, 'yyyy"年"mm"月"') AS 月份, '类型'||投诉类型||'数量'||count(*)||'('||listagg(单号, ',') within group (order by 单号)||')' AS 数量
      FROM test
      GROUP BY 投诉地点, to_char(投诉时间, 'yyyy"年"mm"月"'), 投诉类型
    )
    PIVOT (
      MAX(数量) FOR 月份 IN ('2017年01月', '2017年02月', '2017年03月')
    )
    ORDER BY 投诉地点;
    
    

    ```

    评论

    报告相同问题?

    悬赏问题

    • ¥15 存储过程或函数中的结果集类型变量如何使用。
    • ¥80 关于海信电视聚好看安装应用的问题
    • ¥15 vue引入sdk后的回调问题
    • ¥15 求一个智能家居控制的代码
    • ¥15 ad软件 pcb布线pcb规则约束编辑器where the object matpcb布线pcb规则约束编辑器where the object matchs怎么没有+15v只有no net
    • ¥15 虚拟机vmnet8 nat模式可以ping通主机,主机也能ping通虚拟机,但是vmnet8一直未识别怎么解决,其次诊断结果就是默认网关不可用
    • ¥20 求各位能用我能理解的话回答超级简单的一些问题
    • ¥15 yolov5双目识别输出坐标代码报错
    • ¥15 这个代码有什么语法错误
    • ¥15 给予STM32按键中断与串口通信