zoukankan      html  css  js  c++  java
  • 行转列,列转行的sql 语句

    create table test01(id int,name varchar(20),quarter int,profile int) 
    insert into test01 values(1,'a',1,1000)
    insert into test01 values(1,'a',2,2000)
    insert into test01 values(1,'a',3,4000)
    insert into test01 values(1,'a',4,5000)
    insert into test01 values(2,'b',1,3000)
    insert into test01 values(2,'b',2,3500)
    insert into test01 values(2,'b',3,4200)
    insert into test01 values(2,'b',4,5500)
    
    select * from test01
    
    --行转列
    select id,name,
    [1] as "一季度",
    [2] as "二季度",
    [3] as "三季度",
    [4] as "四季度",
    [5] as "5"
    from
    test01
    pivot
    (
    sum(profile)
    for quarter in
    ([1],[2],[3],[4],[5])
    )
    as pvt
    
    
    create table test02(id int,name varchar(20), Q1 int, Q2 int, Q3 int, Q4 int)
    insert into test02 values(1,'a',1000,2000,4000,5000)
    insert into test02 values(2,'b',3000,3500,4200,5500)
    
    select * from test02
    
    --列转行
    select id,name,quarter,profile
    from
    test02
    unpivot
    (
    profile
    for quarter in
    ([Q1],[Q2],[Q3],[Q4])
    ) 
    as unpvt
    
  • 相关阅读:
    SED{shell三剑客awk,sed,grep}
    AWK{shell三剑客awk,sed,grep}
    面试汇总
    shell脚本
    redis主从
    haproxy
    grafana
    zabbix
    lnmp
    shell 基础
  • 原文地址:https://www.cnblogs.com/Fandyx/p/1802960.html
Copyright © 2011-2022 走看看