• 行转列,列转行的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
    
  • 相关阅读:
    FTP 协议和 HTTP 协议的比较
    HttpURLConnection的post请求,什么时候发出,writeData存在什么地方
    装饰器
    函数参数以及名称空间作用域
    函数的调用
    函数的返回值
    定义函数的三种方式
    函数
    day05
    day04
  • 原文地址:https://www.cnblogs.com/Fandyx/p/1802960.html
Copyright © 2020-2023  润新知