• oracle group by 行转列 分析执行计划


    group by 子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句 限制返回的结果集
    类似于distinct的去重,可是不明白到底俩区别?功能上group by莫非多一下可以用having?

    GROUP BY ROLLUP(A,B,C):首先对(A,B,C)进行GROUP BY,然后对(A,B)进行GROUP BY,然后是(A)进行GROUP BY, 最后对全表进行GROUP BY操作。
    GROUP BY CUBE(A,B,C):首先对(A,B,C)进行GROUP BY,然后依次对(A,B)、(A,C)、(A)、(B,C)、(B)、(C)进行GROUP BY,最后对全表进行GROUP BY操作。

    GROUP BY GROUPING SETS(A,B,C):依次对(C)、(B)、(A)进行GROUP BY。
    ----参见博客
    http://blog.csdn.net/ayou2008/article/details/7183258
    http://www.cnblogs.com/juddhu/archive/2012/03/07/2383685.html
    Oracle 行转列问题
    decode(待比较的对象,如果为这个,那麼结果为这个,否则结果是这个)
    DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )
    DECODE(command,
      0,’None’,
      2,’Insert’,
      3,’Select’,
      6,’Update’,
      7,’Delete’,
      8,’Drop’,
      ‘Other’) command

    关于pl/sql的分析执行计划,有话可以从耗时开始
    对于耗时多,可是执行之间短的问题,如何取舍?

    select t.*, t.rowid from TEST t;

    select km,sum(decode(name,'张三',fs,0))张三
    ,sum(decode(name,'李四',fs,0))李四
    ,sum(decode(name,'王五',fs,0))王五
    ,sum(decode(name,'陈三',fs,0))陈三
    from
    (
    select name,'SX' km,sx fs
    from test
    union all
    select name ,'yw' km,yw fs
    from test test1
    )t
    group by km

  • 相关阅读:
    232 前端之JQuery:JQuery扩展和事件
    231 前端之JQuery:JQuery文档操作
    Result(ActionResult、JsonResult、JavaScriptResult等)
    Controller传值到前端页面的几种方式
    若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet(转载)
    过滤器
    ViewData丶ViewBag和TempData
    C#-绘图双缓冲
    Kafka的架构原理,你真的理解吗?
    Kafka的架构原理,你真的理解吗?
  • 原文地址:https://www.cnblogs.com/Rampage/p/2783799.html
Copyright © 2020-2023  润新知