zoukankan      html  css  js  c++  java
  • Oracle-习题

    习题:增加1个字段,各门功课是否超过平均分

     

    -- 回顾:行转列

    -- 1.利用decode(不只是用于行转列)

    -- 2.利用oracle 11g以后提供pivot

    select 

      ooo.*,

      1 struts_avg,

      2 srping_avg,

      3 hibernate_avg,

      4 oracle_avg

    from (

      select * from (

         (select user_name,ke,score from t_user_score)

      )

      pivot(

          sum(score)             -- 统计值

          for ke in ('struts','spring','hibernate','oracle')      -- 划分多少列

      )

    ) ooo

    ------------

    -- struts的平均分

    select * from t_user_score where ke='struts'

    select avg(score) from t_user_score where ke='struts'

    -------------------

    select id ,

           (select 1 from dual) pp

    from t_user_score

    --------------------------

    select 

      ooo.*,

      (select avg(score) from t_user_score where ke='struts') struts_avg,

      (select avg(score) from t_user_score where ke='spring') srping_avg,

      (select avg(score) from t_user_score where ke='hibernate') hibernate_avg,

      (select avg(score) from t_user_score where ke='oracle') oracle_avg

    from (

      select * from (

         (select user_name,ke,score from t_user_score)

      )

      pivot(

          sum(score)             -- 统计值

          for ke in ('struts' as struts,'spring' as spring,'hibernate' as hibernate,'oracle' as oracle)      -- 划分多少列

      )

    ) ooo

    --------------

    select 

      ooo.*,

      (select avg(score)-struts from t_user_score where ke='struts') low_struts_avg,

      (select avg(score)-spring from t_user_score where ke='spring') low_srping_avg,

      (select avg(score)-hibernate from t_user_score where ke='hibernate') low_hibernate_avg,

      (select avg(score)-oracle from t_user_score where ke='oracle') low_oracle_avg

    from (

      select * from (

         (select user_name,ke,score from t_user_score)

      )

      pivot(

          sum(score)             -- 统计值

          for ke in ('struts' as struts,'spring' as spring,'hibernate' as hibernate,'oracle' as oracle)      -- 划分多少列

      )

    ) ooo

    -------------------------------

    select 

      ooo.*,

      sign((select avg(score)-struts from t_user_score where ke='struts')) low_struts_avg,

      sign((select avg(score)-spring from t_user_score where ke='spring')) low_srping_avg,

      sign((select avg(score)-hibernate from t_user_score where ke='hibernate')) low_hibernate_avg,

      sign((select avg(score)-oracle from t_user_score where ke='oracle')) low_oracle_avg

    from (

      select * from (

         (select user_name,ke,score from t_user_score)

      )

      pivot(

          sum(score)             -- 统计值

          for ke in ('struts' as struts,'spring' as spring,'hibernate' as hibernate,'oracle' as oracle)      -- 划分多少列

      )

    ) ooo

    ----------------------

    select 

      ooo.*,

      decode(sign((select avg(score)-struts from t_user_score where ke='struts')),1,'是的,低于平均分',-1,'高于平均分','跟平均分持平') low_struts_avg,

      decode(sign((select avg(score)-spring from t_user_score where ke='spring')),1,'是的,低于平均分',-1,'高于平均分','跟平均分持平') low_srping_avg,

      decode(sign((select avg(score)-hibernate from t_user_score where ke='hibernate')),1,'是的,低于平均分',-1,'高于平均分','跟平均分持平') low_hibernate_avg,

      decode(sign((select avg(score)-oracle from t_user_score where ke='oracle')),1,'是的,低于平均分',-1,'高于平均分','跟平均分持平') low_oracle_avg

    from (

      select * from (

         (select user_name,ke,score from t_user_score)

      )

      pivot(

          sum(score)             -- 统计值

          for ke in ('struts' as struts,'spring' as spring,'hibernate' as hibernate,'oracle' as oracle)      -- 划分多少列

      )

    ) ooo

  • 相关阅读:
    hdu 1588 求f(b) +f(k+b) +f(2k+b) +f((n-1)k +b) 之和 (矩阵快速幂)
    poj 3233 S = A + A^2 + A^3 + … + A^k A是一个n X n矩阵 (矩阵快速幂)
    hdu 1757 和1005差不多 (矩阵快速幂)
    D 矩阵快速幂
    poj 3734 方块涂色 求红色 绿色方块都为偶数的方案数 (矩阵快速幂)
    hdu 1005 根据递推公式构造矩阵 ( 矩阵快速幂)
    hdu 4549 M斐波拉契 (矩阵快速幂 + 费马小定理)
    UVa 1643 Angle and Squares (计算几何)
    UVa 11040 Add bricks in the wall (水题递推)
    UVa 1336 Fixing the Great Wall (区间DP)
  • 原文地址:https://www.cnblogs.com/sheying/p/8601666.html
Copyright © 2011-2022 走看看