Sql Sercer 行转列 列转行
时间:2020-01-09
本文章向大家介绍Sql Sercer 行转列 列转行,主要包括Sql Sercer 行转列 列转行使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Create table Student ( Id int primary key identity, KM varchar(50), Name varchar(52), Score int ) select * from student 列转行 /*SELECT [姓名], max(CASE 课程 WHEN '语文' THEN 分数 ELSE 0 end) AS 语文, max(CASE 课程 WHEN '数学' THEN 分数 ELSE 0 end)AS 数学, max(CASE 课程 WHEN '物理' THEN 分数 ELSE 0 end)AS 英语, FROM student GROUP BY [姓名]*/ SELECT Name, max(CASE KM WHEN '语文' THEN Score ELSE 0 end) AS 语文, max(CASE KM WHEN '数学' THEN Score ELSE 0 end)AS 数学, max(CASE KM WHEN '物理' THEN Score ELSE 0 end)AS 英语 FROM student GROUP BY Name --使用PIVOT列转行 select * from ( SELECT Score , KM , Name FROM student ) student pivot(max(score) for km in (语文,数学,英语)) t Create table StudentTwo ( Id int primary key identity, Name varchar(52), Yuwen Int, Shuxue int, Yingyu int, ) select * from StudentTwo --列转行 SELECT * FROM ( SELECT Name AS '姓名', '语文' AS '科目', Yuwen AS '成绩' FROM StudentTwo UNION ALL SELECT Name AS '姓名', '数学' AS '科目', Shuxue AS '成绩' FROM StudentTwo UNION ALL SELECT Name AS '姓名', '英语' AS '科目', Yingyu AS '成绩' FROM StudentTwo )t select * from ( select name as '姓名', '语文' as '科目' ,yuwen as '成绩' from studenttwo )t --使用UNPIVOT列转行 SELECT * from StudentTwo UNPIVOT(成绩 FOR 科目 IN(Yuwen,Shuxue,Yingyu)) T
原文地址:https://www.cnblogs.com/ly-03-04/p/12171617.html
- 暴涨210倍的一个数字货币正悄无声息崛起
- QT Creator 快速入门教程 读书笔记(一)
- .NET程序优化(GCServer )
- redis 学习笔记(4)-HA高可用方案Sentinel配置
- oracle: job使用
- velocity模板引擎学习(2)-velocity tools 2.0
- java:如何用代码控制H2 Database启动
- 游戏开发完整学习路线(各个版本都有)
- spring mvc4:异常处理
- TCP/IP, WebSocket 和 MQTT
- struts2: 玩转 rest-plugin
- 设置系统环境变量立即生效的VBS脚本
- velocity模板引擎学习(1)
- mybatis 3.x 缓存Cache的使用
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解
- 行为型设计模式:备忘录模式
- 行为型设计模式:访问者模式
- redis实战第十篇 集群收缩
- redis实战第九篇 集群扩容自动迁移槽(redis-cli)
- 自动化运维| Ansible playbook的逻辑控制语句
- Windows通用应用平台UWP持久化
- redis实战第八篇 集群扩容 手动迁移槽
- Xinetd服务的安装与配置详解
- redis实战第七篇 使用redis工具(redis-cli)搭建redis cluster
- 使用ROS2机器人操作系统进行多机器人编程技术实践(Multi-Robot Programming Via ROS2 )
- 自动化运维实践 | Ansible playbook重用
- 手把手教你打造高效的 Kubernetes 命令行终端
- docker save load export import的区别
- 使用ABAC控制数据访问
- linux 压力测试工具之ab