python 列转行_SQL 行转列,列转行「建议收藏」

python 列转行_SQL 行转列,列转行「建议收藏」SQL行转列,列转行行列转换在做报表分析时还是经常会遇到的,今天就说一下如何实现行列转换吧。行列转换就是如下图所示两种展示形式的互相转换行转列假如我们有下表:SELECT*FROMstudentPIVOT(SUM(score)FORsubjectIN(语文,数学,英语))通过上面SQL语句即可得到下面的结果PIVOT后跟一个聚合函数来拿到结果,FOR后面跟的科目是我们要…

大家好,又见面了,我是你们的朋友全栈君。

SQL 行转列,列转行

行列转换在做报表分析时还是经常会遇到的,今天就说一下如何实现行列转换吧。

行列转换就是如下图所示两种展示形式的互相转换

python 列转行_SQL 行转列,列转行「建议收藏」

行转列

假如我们有下表:

python 列转行_SQL 行转列,列转行「建议收藏」

SELECT *

FROM student

PIVOT (

SUM(score) FOR subject IN (语文, 数学, 英语)

)

通过上面 SQL 语句即可得到下面的结果

python 列转行_SQL 行转列,列转行「建议收藏」

PIVOT 后跟一个聚合函数来拿到结果,FOR 后面跟的科目是我们要转换的列,这样的话科目中的语文、数学、英语就就被转换为列。IN 后面跟的就是具体的科目值。

当然我们也可以用 CASE WHEN 得到同样的结果,就是写起来麻烦一点。

SELECT name,

MAX(

CASE

WHEN subject=’语文’

THEN score

ELSE 0

END) AS “语文”,

MAX(

CASE

WHEN subject=’数学’

THEN score

ELSE 0

END) AS “数学”,

MAX(

CASE

WHEN subject=’英语’

THEN score

ELSE 0

END) AS “英语”

FROM student

GROUP BY name

使用 CASE WHEN 可以得到和 PIVOT 同样的结果,没有 PIVOT 简单直观。

列转行

假设我们有下表 student1

python 列转行_SQL 行转列,列转行「建议收藏」

SELECT *

FROM student1

UNPIVOT (

score FOR subject IN (“语文”,”数学”,”英语”)

)

通过 UNPIVOT 即可得到如下结果:

python 列转行_SQL 行转列,列转行「建议收藏」

我们也可以使用下面方法得到同样结果

SELECT

NAME,

‘语文’ AS subject ,

MAX(“语文”) AS score

FROM student1 GROUP BY NAME

UNION

SELECT

NAME,

‘数学’ AS subject ,

MAX(“数学”) AS score

FROM student1 GROUP BY NAME

UNION

SELECT

NAME,

‘英语’ AS subject ,

MAX(“英语”) AS score

FROM student1 GROUP BY NAME

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151086.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 无序链表排序_双向链表排序算法

    无序链表排序_双向链表排序算法需求给定一个无序的链表,输出有序的链表。分析链表排序比较特殊,由于不连续的性质,所以在进行排序的时候要引入外排思想,因此归并排序或者多路归并就成为了排序的选择。归并排序分为拆分、合并两个阶段:1.拆分需要拆分出链表中间节点,并赋值NULL阶段,形成两个独立的链表,直到拆分成单个节点为止。2.合并由于此时没个链表都为单节点,所以实质上是个有序链表合并问题。代码下面

    2022年10月11日
  • linux对文本内容数字进行排序

    linux对文本内容数字进行排序

  • python社交网络分析_python编程:从入门到实践

    python社交网络分析_python编程:从入门到实践NLP之情感分析:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)输出结果1、测试对象data1=’今天上海的天气真好!我的心情非常高兴!如果去旅游的话我会非常兴奋!和你一起去旅游我会更加幸福!’data2=’今天上海天气真差,非常讨厌下雨,把我冻坏了,心情太不高兴了,不高兴,我真的很生气!’data3=’美国华裔科学家,祖籍江苏扬州市高邮县,…

  • 基于GLBP协议的医院网络规划与设计 文档+申请表+任务书+开题报告+中期检查+文献综述+PPT+周进展+网络拓扑及配置

    基于GLBP协议的医院网络规划与设计 文档+申请表+任务书+开题报告+中期检查+文献综述+PPT+周进展+网络拓扑及配置目录基于GLBP协议的医院网络规划与设计摘要HospitalnetworkplanninganddesignbasedonGLBPprotocolAbstract1.基于GLBP协议的医院网络需求分析1.1对用户需求进行分析(1)网络应用需求分析(2)对网络进行安全需求分析(3)对技术需求进行分析1.2主要设计的目标(1)开放性(2)实用性(3)可扩展性(4)先进性(5)可靠性(6)安全性(7)可管理性2.医院网络整体设计2.1医院网络整个架构2.2

  • hybrid app开发教程_公司员工大会历程分享

    hybrid app开发教程_公司员工大会历程分享关于这个话题,本文并不准备详述移动开发相关的一些通用技术,例如:viewport、rem、flexbox、媒体查询等。这里主要讲述我们的hybrid产品策略、开发流程与规范、性能优化以及我们踩过的坑。而往往就是这些,网上相关的资料相对比较匮乏的,又缺少类似经验文章,所以希望通过此篇文章,跟大家分享一些魅族团队关于hybrid产品开发的经验。产品背景我们希望这一类产品具备比较强大的

  • dpkg强制安装软件包_Ubuntu12安装deb

    dpkg强制安装软件包_Ubuntu12安装debdpkg-i–force-overwritetest.deb

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号