范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

SQLSERVER使用PIVOTUNPIVOT实现行转列与列转行

  一、使用PIVOT实现行转列
  1、首先创建一个学生表
  CREATE TABLE [dbo].[Students](
  [stu_id] [int] IDENTITY(1,1) NOT NULL,
  [stu_name] [varchar](100) NULL,
  [stu_hobby] [varchar](100) NULL,
  [stu_hours] [int] NULL
  ) ON [PRIMARY]
  2、插入几条数据
  INSERT INTO [Students](stu_name,stu_hobby,stu_hours)
  VALUES ("用户A","唱歌","2")
  ,("用户A","跳舞","5")
  ,("用户B","唱歌","5")
  ,("用户B","跳舞","3")
  ,("用户C","唱歌","1")
  ,("用户C","跳舞","5")
  ,("用户D","游泳","5")
  ,("用户D","跳舞","5")
  3、针对某一列将其转化为列,这里使用到的是stu_hobby
  SELECT * FROM (
  SELECT stu_name,stu_hobby,stu_hours FROM [Students]
  )t
  PIVOT(SUM(stu_hours)
  FOR stu_hobby IN (唱歌,跳舞,游泳))piv
  【效果对比如下:】
  (1)转换前:
  (2) 转换后:
  4 、如果我们想要动态把某一行转换成列,并不想每次增加一种爱好都要去手动去改一下sql,我们可以通过声明变量的方式来实现
  4.1  这里我们添加一种【健身】的爱好
  INSERT INTO [Students](stu_name,stu_hobby,stu_hours)
  VALUES ("用户D","健身","5")
  4.2  使用声明变量的sql
  DECLARE @sql VARCHAR(MAX);
  DECLARE @tempField VARCHAR(MAX)=(SELECT STUFF((SELECT ","+stu_hobby FROM [Students] GROUP BY stu_hobby FOR XML PATH("")),1,1,""));
  SET @sql="
  SELECT * FROM (
  SELECT stu_name,stu_hobby,stu_hours FROM [Students]
  )t
  PIVOT(SUM(stu_hours)
  FOR stu_hobby IN ("+@tempField+"))piv
  "
  EXEC(@sql)
  效果图如下:
  这样你每添加一种爱好,都会自动地去把这个爱好转换成列,就不用每增加一种,就需要手动在in后面去把爱好补充上去了
  二、使用UNPIVOT实现列转行
  1、这里是将stu_hobby和stu_name两列转成了行展示
  SELECT 转换后字段名,T,stu_hours FROM [Students]
  UNPIVOT
  (
  T FOR 转换后字段名 IN(stu_hobby,stu_name)
  )un
  【效果对比如下:】
  (1)转换前:
  (2)转换后:
  每日一记,提升自己!!!!

为什么要优先使用Kotlin进行Android开发?富有表现力且简洁您可以使用更少的代码实现更多的功能。表达自己的想法,少编写样板代码。在使用Kotlin这些专业开发者中,有67的人反映其工作效率有所提高。更安全的代码Kotlin有Android监听音量加减今天分享一段简单的代码,在开发的时候会遇到监听音量加减的时候。如下OverridepublicbooleanonKeyDown(intkeyCode,KeyEventevent)sAndroid的Application中onCreate执行多次解决方案。获取进程名称privateStringgetProcessName(Contextcontext)ActivityManageram(ActivityManager)contex移动端postcsspxtoremrem适配方案postcsspxtorempostcsspxtorem是一款postcss插件,用于将单位转化为rem。Github地址httpsgithub。comcuthpostcsspxt别在被骗了,750的显卡玩绝地求生吃鸡真的很垃圾,看实测现在突然发现好多自媒体都在无下限的刷三观,为了点阅读量,想尽办法给网友们出玩绝地求生最低配置,最近看到一个大V自媒体竟然说显卡用GT730都能流畅吃鸡,我想说呸,至于吗,你干脆让网广西小伙2万元开店,创1500万斤销量!这就是拼多多不易模仿之处相信很多人都已发现,巨头们开始纷纷模仿起后起之秀拼多多了。只不过,这个结果好像是谁都模仿不来。那么,为什么看似模式简单的拼多多,反而没一个人能模仿成功呢?其实,这里还有更深层次的原太罕见!法国突然摊牌一hr最近高卢雄鸡很生气。因为它被美国和澳大利亚合伙给卖了!原来澳大利亚是买法国核潜艇的,双方早有意向,公开接洽,签订协议,法国方面闷着头准备挣着一大笔钱。然后,突然之间,澳大利亚扫黑风暴完结了,还是没人敢说张艺兴演技差吗?扫黑风暴自开播以来,在网上赢得了一片赞誉之声,看起来貌似是一部难得的好剧。按理来说,张艺兴应该成为扫黑风暴的加分项,但实际上却恰恰相反。张艺兴所饰演的林浩,俨然成为了剧中最大的BU拒绝向美交出机密后,台积电一号低调火速转移资产,欧美开始紧张据俄塔斯社10月28日报道,近日台积电总裁魏哲家申报将其妻子转让100万股持有的台积电股份。该事件发生在台积电拒绝相应美方的要求,交期企业的机密数据信息后,外界认为,魏哲家在地点的福布斯富豪榜更新,张一鸣超越马化腾,每天都在发生奇迹黄光裕是首富?王健林是首富?马云是首富?马化腾是首富?确实都有当过首富,也有后浪推前浪的晚辈,正在崛起逆袭当中。最新消息,字节跳动创始人张一鸣,在福布斯富豪排行榜中国富豪排位第二名建议各位卫生间再大,也别装毛巾架,学香港人弄,那叫一个高级自古以来,中国人对卫生间有着非常讲究的追求,装饰的也是非常的细致,尤其中国的卫具,从古代发展到现在,也已经是非常的丰富多样。下面小编来帮大家搜罗一些实用的卫生间好物,个个小巧又耐用
Java并发编程核心理论并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能。它要求编程者对计算机最底层的运作原理有深刻的理解,同时要求编程者逻辑清晰思维缜密,这样才能写出高效安全可靠的多线程销冠比亚迪,初现飞轮效应一个愈发明显的趋势正在出现比亚迪,渐渐成为特斯拉之后的新王。刚刚过去的11月,这家公司一共卖出了97242辆乘用车,同比增长84。1。其中,新能源车的销量同比大涨252。7,达到了怎样分辨旗舰高端和低端机?其实并不难,听完分析就能懂点击关注,每天精彩不断!导读怎样分辨旗舰高端和低端机?其实并不难,听完分析就能懂!现在手机市场的竞争十分的激烈,为了能赢得更多的市场份额,各大智能手机厂家都会想方设法地去使用机海战民营运营商的崛起,逼迫三大运营商要对5G降价了今日看到一则新闻,说三大运营商可能宣布5G要降价了。其实早在很多年前,国家就开始要求运营商要提速降费(提速降费是指中国联通中国移动中国电信三大运营商提高网速降低资费的改革。提速降费iPhone13,升级了iOS15。2,又降到iOS15。1。1我用的是iPhone13。从15。2RC就开始很关注这个系统,一直的评价就很一般,可以说比15。1的评价还要差。我的13出厂系统15。0。2,我用了一天时间,很快就升级到15。1,DXOMark公布vivoX70Pro相机评分得分135分,排名第七IT之家12月17日消息,DXOMark网站最新公布了vivoX70Pro的相机评分,得分为135分,排名第七。DXOMark网站介绍了vivoX70Pro的主要相机规格主要50Miphone11购买一年使用体验iphone11购买一年了,开始激活就是ios14。2系统,一直没有升级,续航很好,我每天就是看头条,看短视频,用微信,下载苹果手机试玩赚钱软件。最开始的大半年电池都能用两天,最近新款iPhoneSE将引入5G会吸引更多Android用户转向苹果生态预估苹果明年将会推出多款新iPhone。虽然大部分用户的目光都集中在明年9月的iPhone14上,但是明年春季发布的新款iPhoneSE将会帮助苹果开疆拓土,获得更多的市场份额。消vivo多款新机直接上架12GB内存5000mAh骁龙芯片,千元机之光随着APP手游的高速度发展,对于手机的需求也越来越高,因此高通在近一二年的旗舰芯片都推出加强版,而搭载此芯片的机型多数是定位游戏手机市场。12月初,高通也发布了新一代旗舰芯片,型号Taro3。3。17发布,BAT小程序H5与RN端统一框架Taro3。3。17发布了。Taro是一个开放式跨端跨框架解决方案,支持使用ReactVueNerv等框架来开发微信京东百度支付宝字节跳动QQ小程序H5等应用。此版本更新内容包括特iOS15。2新功能密码忘记也能重置iPhone果粉之家,专业苹果手机技术研究十年!您身边的苹果专家相信很多小伙伴都遇到过这种情况,一台iPhone放太久了,当初设置的锁屏密码是什么都自己忘了。这时候我们只能通过连接电脑进入恢复