zoukankan      html  css  js  c++  java
  • 行转列/列转行

    行转列:

    select t.*, t.rowid from TEST1 t
     
    ID  C1    C2   C3
    1  小红  数学  10  
    2  小红  语文  20  
    3  小栏  数学  15  
    4 小栏 语文 25
     
    --test1
    oracle :  SELECT C1,to_char(WM_CONCAT(C2)) c2 FROM TEST1 group by c1
    mysql:    SELECT C1,GROUP_CONCAT(C2) c2 FROM TEST1 group by c1
    --结果:
     C1      C2
    小红 数学,语文
    小栏 数学,语文
     
     
    --test2
    select c1, max(math) as math, max(yuwen) as yuwen
      from (SELECT c1,
                   case
                     when c2 = '数学' then
                      c3
                   end as math,
                   case
                     when c2 = '语文' then
                      c3
                   end as yuwen
              from test1)
     group by c1
    --结果: 
     C1  数学 语文
    小红 10 20
    小栏 15 25
     
    --test3
    select *
      from (select c2, c3 from test1) pivot(sum(c3) for c2 in('数学', '语文'))
    --结果:
    数学  语文
     25    45
     
    --test4
    select *
      from (select c1, c2,c3 from test1) pivot(max(c3) for c2 in('数学', '语文'))
    --结果:
     C1  数学 语文
    小红 10 20
    小栏 15 25
  • 相关阅读:
    CF948D Perfect Security
    bzoj 1015 [JSOI2008]星球大战starwar
    XJOI 7191 Genius ACM
    bzoj 1491 [NOI2007]社交网络
    CF1066F Yet another 2D Walking
    iOS main函数讲解
    iOS 邓白氏编码的申请
    iOS 开发与H5交互(JavaScriptCore框架的使用)
    iOS 开发之RunLoop
    iOS 蓝牙开发之(CoreBlueTooth)
  • 原文地址:https://www.cnblogs.com/BonnieWss/p/10784903.html
Copyright © 2011-2022 走看看