zoukankan      html  css  js  c++  java
  • 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(字段名)

    
    
  • 相关阅读:
    3. 文件存储格式
    2. Reduce 输出压缩
    Nginx+Tomcat搭建集群环境
    redis缓存失效及解决方案
    几种开源NOSQL数据库
    使用Maven开发用户模块的CRUD(增删改查)
    Spring Boot 面试题整理
    oracle 11g&12c(pdb&cdb)系统巡检
    Redhat 6.8部署oracle12.2.0.1.0
    sqlserver创建程序集
  • 原文地址:https://www.cnblogs.com/ypyhy/p/6913176.html
Copyright © 2011-2022 走看看