sqlserver行列转换( unpivot 和 pivot)

news2024/11/16 2:49:58

1,unpivot 是将列转为行显示,很多时候,我们用多个列了显示同一个对象不同维度得数据,如果需要数据关联,肯定需要转为横向显示!

思路就是:有一列显示多列的名称,有一列显示列名对应的值

上案例:

要达到得目的是把 spee1,spee2,,,等列转为横向显示,看看得到得效果

效果很明显,给上sql语句

  SELECT  
  [data], [time] ,
  up.speeName,
  up.speeVal
  FROM
    [YY2FSC].[dbo].[speetab_1_12]  
    unpivot(speeVal for speeName in (spee1, spee2,spee3, spee4 , spee5, spee6)) up
  WHERE 
  CAST([data] as datetime)  >='2023-05-10 0:00:00'  and    CAST([data] as datetime) <=  '2023-05-10 0:59:59'  

unpivot(speeVal for speeName in (列名1, 列名2,列名3, 列名4 , 列名5, 列名6)) up

unpivot紧跟表名,up 是别名,不可缺少, speeName 显示转换的列名,speeVal 代表了那么多列的值,然后显示出来就可以了,比较简单!!

2,pivot 是将行转为列显示, 下面这个案例,是把整点的数据按照小时显示成列,纵向排列

 列转行之后的效果图为:

 效果很明显,给上sql语句

select  
  createtime, 
[0] as [data0],[1] as [data1],[2] as [data2],[3] as [data3],[4] as [data4],[5] as [data5],
[6] as [data6],[7] as [data7],[8] as [data8],[9] as [data9],[10] as [data10],
[11] as [data11],[12] as [data12],[13] as [data13],[14] as [data14],[15] as [data15],
[16] as [data16],[17] as [data17],[18] as [data18],[19] as [data19],[20] as [data20],
[21] as [data21],[22] as [data22],[23] as [data23]
from  [YY2FSC_DW].[dbo].[TB_DY_ByHour_Report]
pivot(min([VirtualVoltage] ) for [hour] in ([0],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23]))as pvt
order by createtime 

pivot(min([VirtualVoltage] ) for [hour] in ([0],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23]))as pvt

in里面的就是hour这列所有的值,将这个值变成了列,一天24小时,从0-23,注意in里面的值必须带有中括号 eq:[0]或者['0'],根据要转的列的类型确定。min是有最小值,但是自己做好分组就可以了! pvt 是别名,不可缺少

其实原理思考清楚了,把多列合并成为一行,把多行显示为列就明白了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/593344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis发布订阅以及应用场景介绍

目录 一、什么是发布和订阅&#xff1f;二、Redis的发布和订阅三、发布和订阅的命令行实现四、发布和订阅命令1、subscribe&#xff1a;订阅一个或者多个频道2、publish&#xff1a;发布消息到指定的频道3、psubscribe&#xff1a;订阅一个或多个符合给定模式的频道4、pubsub&a…

通过facebook主页进行自己产品的推广可行吗?

首先&#xff0c;让我们明确结论&#xff1a;通过Facebook主页进行产品推广是可行的&#xff0c;但并不是必要的。为什么这么说呢&#xff1f; Facebook作为一个社交平台&#xff0c;其核心功能是连接人与人之间的关系&#xff0c;鼓励用户分享和互动。用户在Facebook上的活动主…

(学习日记)2023.04.23

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

实用可靠的安科瑞电动机保护控制器的应用

安科瑞 徐浩竣 江苏安科瑞电器制造有限公司 zx acrelxhj 摘要&#xff1a;介绍了一种新型电动机保护器&#xff0c;兼有电流、电压、过载、短路保护功能。它集电流型和电压型电动机保护器优点于一身&#xff0c;对电源欠电压、过电压、断相起闭锁作用&#xff0c;它结构简单…

【测试报告】个人博客系统自动化测试报告

文章目录 项目背景项目功能测试计划功能测试测试用例执行测试的操作步骤 自动化测试设计的模块、自动化运行的结果、问题定位的结果自动化测试优点 项目背景 对于一个程序员来说&#xff0c;定期整理总结并写博客是不可或缺的步骤&#xff0c;不管是对近期新掌握的技术或者是遇…

C# 读取json格式文件

读取json格式文件 安装 Newtonsoft.Json 程序集 1. 选择界面下方的【程序包管理器控制台】页面&#xff0c;输入安装指令 Install-Package Newtonsoft.Json 2. 安装完成后&#xff0c;请确保在代码文件的顶部包含以下 using 指令&#xff1a; using Newtonsoft.Json; 创建读…

GCC如何生成并调用静态库

一&#xff0c;简介 本文主要介绍如何使用gcc编译代码生成静态库&#xff0c;并调用静态库运行的操作步骤。 二&#xff0c;准备工作 使用add.c和main.c生成test可行性文件的流程图&#xff1a; add.c文件的内容&#xff1a; #include "add.h"int add(int a, i…

自学网络安全, 一般人我劝你还是算了吧

前言&#xff1a;自学我劝你还是算了&#xff0c;我为什么要劝你放弃我自己却不放弃呢&#xff1f;因为我不是一般人。。。 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了. 2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发. 3.有时多 …

【性能测试】Jenkins+Ant+Jmeter自动化框架的搭建思路

前言 前面讲了Jmeter在性能测试中的应用及扩展。随着测试的深入&#xff0c;我们发现在性能测试中也会遇到不少的重复工作。 比如某新兴业务处于上升阶段&#xff0c;需要在每个版本中&#xff0c;对某些新增接口进行性能测试&#xff0c;有时还需要在一天中的不同时段分别进行…

计算如何与实验结合发Science

理论计算与实验结合的研究已经成为TOP期刊中的主流方式。近日&#xff0c;上海交通大学种丽娜副教授一项关于质子交换膜水解槽阳极催化剂的研究成果在Science发表。该工作报道了一种由沸石甲基咪唑酯骨架&#xff08;Co-ZIF&#xff09;衍生并通过静电纺丝处理的镧和锰共掺杂的…

Python 修复共享内存问题和锁定共享资源问题

文章目录 使用 multiprocessing.Array() 在 Python 中使用共享内存解决多进程之间共享数据问题的解决方案 使用 multiprocessing.Lock() 锁定 Python 中的共享资源 本篇文章解释了多处理共享内存的不同方面&#xff0c;并演示了如何使用共享内存解决问题。 我们还将学习如何使用…

Axure教程—图片手风琴效果

本文将教大家如何用AXURE制作图片手风琴效果 一、效果介绍 如图&#xff1a; 预览地址&#xff1a;https://6nvnfm.axshare.com 下载地址&#xff1a;https://download.csdn.net/download/weixin_43516258/87847313?spm1001.2014.3001.5501 二、功能介绍 图片自动播放为手风…

MT4交易外汇平台有哪些优势?为何是外汇投资首选?

外汇市场上存在着各种各样的外汇交易商&#xff0c;但是很多的外汇交易商所选择的交易平台都是MT4交易外汇平台。作为全世界范围内使用最为广泛的交易平台&#xff0c;MT4交易外汇平台具有哪些优势&#xff0c;能够让外汇交易商和外汇投资者都选择使用。本文就来具体的聊聊&…

SQL中not in的一个坑

因not in 效率较低&#xff0c;在工作用一只用left join代替&#xff0c;在某一次查询使用了not in发现&#xff0c;结果为空&#xff0c;sql大致如下 select id from table1 where id not in (select id from table2)经过查询发现select id from table2里面的id有null值导致该…

司法大数据解决方案

2018年11月26日&#xff0c;司法部制定了《智慧监狱技术规范SFT0028-2018》并于2019年1月1日正式颁布实施&#xff0c;要求智慧监狱的建设应者眼于监狱工作实际&#xff0c;将物联网、云计算、大数据、人工智能等新一信息技术与监狱各项业务深度融合&#xff0c;形成标准规范科…

论文解读 | 基于改进点对特征的点云6D姿态估计

原创 | 文 BFT机器人 01 摘要 点对特征(PPF)方法已被证明是一种有效的杂波和遮挡下的姿态估计方法。 文章的改进方法主要包括: (1)一种基于奇偶规则求解封闭几何的法向的方法; (2)通过将体素网格划分为等效角度单元的有效降采样方法; (3)基于拟合点的验证步骤。在真实杂波数据集…

如何挖掘360下拉词,怎么删除360下拉负面词

大多数人的手机或者电脑上都安装了360浏览器&#xff0c;360搜索APP等&#xff0c;安装的用户量大&#xff0c;自然使用的用户也就多了&#xff0c;360下拉的优势就展现出来了&#xff0c;展示量大&#xff0c;全国各地均可见&#xff1b;能够引流来的都是相对精准的目标用户&a…

C#简单数据结构类和常用泛型结构类

文章目录 1.简单数据结构类&#xff08;1&#xff09;动态数组Arraylist&#xff08;2&#xff09;栈Stack&#xff08;3&#xff09;队列Queue&#xff08;4&#xff09;哈希表Hashtable 2.泛型3.常用泛型数据结构类&#xff08;1&#xff09;列表List&#xff08;2&#xff0…

高完整性系统:Fault Tolerant Design

目录 1. INTRODUCTION TO FAULT TOLERANCE 1.2 Definitions 1.3 Two Kinds of Faults 1.4 Hardware vs Software Faults 1.4.1 Failure Curve for Hardware 1.4.2 Hardware and Software Failures 1.5 Causes of Failures 1.6 3 Ways to Class Failures 1.6.1 Tempora…

Java 岗史上最全八股文面试真题汇总,堪称 2023 年面试天花板

前言 现如今&#xff0c;Java 面试的本质就是八股文&#xff0c;把八股文面试题背好&#xff0c;面试才有可能表现好。金九银十招聘黄金季已经来临&#xff01;大家在考研和找工作中纠结的时候&#xff0c;不妨先看一下面试题&#xff0c;毕竟我们的最终目标就是为了找一份心仪…