• Sql 行转列


    1.创建一个表,并准备下数据源

     1 Create table  Student 
     2 (
     3  ID int primary key Identity(1,1) not null,
     4  StuName nvarchar(50),
     5  CourseName nvarchar(50),
     6  Score int,
     7  CreateTime dateTime 
     8 
     9 )
    10 
    11 insert into Student values ('张三','语文',81,GETDATE())
    12 insert into Student values ('张三','数学',82,GETDATE())
    13 insert into Student values ('张三','英语',83,GETDATE())
    14 insert into Student values ('李四','语文',86,GETDATE())
    15 insert into Student values ('李四','数学',87,GETDATE())
    16 insert into Student values ('李四','英语',88,GETDATE())
    
    

    2. 用 Case When 实现

    1 select stuName,
    2  max(case CourseName when '语文' then Score end) as '语文',
    3 max(case CourseName when '数学' then Score end) as '数学',
    4 max(case CourseName when '英语' then Score end) as '英语'
    5 from Student  group by StuName

    
    

    3.用微软提供的PIVOT函数实现

    select stuName,[语文], [数学], [英语] from 
    (
     select stuName,Score,CourseName from Student
    ) as p
    PIVOT ( sum(Score) for CourseName IN ([语文], [数学], [英语]))t 
    
    

     4.记录一下一个 给数字添加千分字符的函数

    SELECT  '111111111' as old, CONVERT(VARCHAR(15),CAST(CONVERT(DECIMAL(15,2),LTRIM(111111111)) AS MONEY),1)  dollar --LIRIM(字段名)

    
    
  • 相关阅读:
    scrapy 知乎用户信息爬虫
    快读模板&&快出模板
    洛谷P7078 贪吃蛇
    CSP2020-S1总结
    洛谷P1736 创意吃鱼法
    luogu P3004 [USACO10DEC]宝箱Treasure Chest
    Markdown与LaTeX
    洛谷P2197 【模板】nim游戏
    洛谷CF1360H Binary Median
    洛谷P1063 能量项链
  • 原文地址:https://www.cnblogs.com/ypyhy/p/6913176.html
Copyright © 2020-2023  润新知