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
    
  • 相关阅读:
    mac重启nginx时报nginx.pid不存在的解决办法
    js 正则表达式
    js 闭包
    js yarn
    js npm
    vue3 vite
    node 错误处理
    node fs
    linux包管理工具使用和区别(转)
    MySQL数据库学习----理论基础
  • 原文地址:https://www.cnblogs.com/Fandyx/p/1802960.html
Copyright © 2011-2022 走看看