sql行转列三个方法

2023-11-17

1.行转列sum+if/case when

由多行变一行,group by聚合,由一列变多列,衍生提前。

select uid, sum(if(course='语文',score,NULL)) as `语文`,

sum((if(course='数学',score,NULL)) as `数学`

from score group by uid;

2.列转行union

select uid, '语文' as course,`语文` as score

from score where `语文` is not null

union

select uid, '数学' as course, `数学` as score

from score where `数学` is not null

'字符串常量' `课程名`

3.自连接

select c.*,a.s_score s01,b.s_score s02

from score a, score b, student c

where

a.c_id='01'

and b.c_id='02'

and a.s_id=b.s_id

andc.s_id=a.s_id

and a.s_score>b.s_score;

原理同列转行

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sql行转列三个方法 的相关文章

随机推荐

  • docker 中PyTorch训练时,Dataloader卡死、挂起,跑一个epoch停了,问题解决方案

    no space left on device shm 被占满了 直接设为8G
  • 二十三种设计模式第二十篇--备忘录模式

    备忘录模式 备忘录模式属于行为型模式 它允许在不破坏封装的情况下捕获和恢复对象的内部状态 保存一个对象的某个状态 以便在适当的时候恢复对象 该模式通过创建一个备忘录对象来保存原始对象的状态 并将其存储在一个负责管理备忘录的负责人对象中 备忘
  • 【转】awk、nawk、mawk、gawk的简答介绍

    转载 http blog sina com cn s blog 3d2d79aa0100h47h html awk 是一种编程语言 用于在linux unix下对文本和数据进行处理 数据可以来自标准输入 一个或多个文件 或其它命令的输出 即
  • Springboot 2 的@RequestParam接收数组异常解决!!!

    最近Vue 开发前端 然后向后台springboot 2 传递数组 发现springboot 2 接收数组方式无法使用 RequestParam ids List
  • Python中的三器一闭(详细版)

    python中的三器一闭 迭代器 什么是迭代 什么是可迭代对象 判断数据是否可迭代 什么是迭代器 迭代器的本质 使用迭代器取数据 自定义迭代器 生成器 创建生产器的方法 关键字yield next和send 装饰器 装饰器的功能 定义装饰器
  • 通过双层负载均衡实现HTTPS代理的高并发处理和容错能力

    在互联网应用中 HTTPS代理服务器是承担用户请求的重要角色 当网站面临高并发请求时 单一的服务器可能无法满足需求 会导致性能下降和容错能力不足 为了解决这个问题 我们可以通过双层负载均衡技术来实现高并发处理和容错能力的提升 下面 让我们一
  • VMware16安装虚拟机遇到的问题

    摘要 前面提到自己安装环境为CPU Intel Core i5 12600K VMware 版本 VMware Workstation 16 Pro 16 0 0 build 16894299 创建虚拟机的时候windwos 系列的win7
  • GVM(openVAS)中scan configs为空的问题解决

    一 主要问题 由于kali2021的版本不自带openVAS 在kali2021中安装gvm 原openVAS 安装完成后检查配置 gvm check setup 没有问题 却在打开web控制页面后创建任务失败 报错 Failed to f
  • ssd颗粒查看工具_贴吧机佬强烈推荐的游戏SSD?西数蓝盘3D M.2 500G实测

    现在的SSD有多 白菜 打开电商网站看一下 各种国产甚至是知名电脑厂商的SSD只要几毛钱1GB 存储界的大品牌也有爆款型号来到了1元1GB左右 虽然以上说的都是2 5寸SSD 不是高性能产品 不过这些都很适合老主机升级 或者系统盘容量不够用
  • selenium_获取京东商品价格

    import time from selenium webdriver chrome options import Options from selenium webdriver import Chrome from selenium we
  • Pentaho Report Designer 入门教程(三)

    Pentaho Report Designer 入门教程 三 采用Pentaho Report Designer5 1版本 也是最新的版本 一 安装和介绍 介绍部分内容略 首先安装jdk 并配置java相关环境变量 下载pentaho re
  • 服务器简要维护,服务器维护简要流程

    1 服务器环境梳理 对于专业级别的服务器维护管理工作 环境梳理是第一步 清晰完整的统计出每台服务器的具体型号配置以及安装的各类软件 系统信息 准确全面的记录下服务器的使用数据 同时给每台设备打上资产标签 让您对所有服务器信息一目了然 后续服
  • U盘打不开或者不显示

    U盘打不开修复方法和工具 我们最为常见的情况如下 插上U盘或移动硬盘后 磁盘是显示的 但就是不能显示磁盘的所用和总空间 如下图 双击打开该磁盘后 提示是否将其格式化 如果格式化后就肯定能打开了 但是你的数据就不见了 有时双击打开U盘或移动硬
  • GFS chunk块大小为什么选择64M

    GFS chunk块大小为什么选择64M 优点 减少master存储的元数据信息 因为元数据要放到内存以提供快速访问 如果太小元数据就会太多 减少客户端与master的交互次数 客户端可以与master保持较长的连接 不足 chunk si
  • maven项目引入本地jar包,打war包无法包含本地jar的解决方法

    参照的以下文章 直接在 maven war plugin 插件中进行设置 指定webResources https blog csdn net whhmkj article details 89671713
  • python反转单链表

    原始单链表 反转后单链表 思路 对于每个节点来说 把她的下一个节点 改为他的上一个节点 然后把下一个节点继续变换 建两个临时变量 上一个节点pred 下一个节点next 初始化为None 第1步 开始计算节点1 当前节点为1 1 next为
  • Interceptor拦截器的使用

    1 创建配置类 Configuration public class WebConfig implements WebMvcConfigurer Autowired private AuthInterceptor authIntercept
  • 51单片机按键控制数码管0~9_单片机电子时钟的设计

    单片机电子时钟的设计 摘 要 单片机自20世纪70年代问世以来 以其极高的性能价格比 受到人们的重视和关注 应用很广 发展很快 单片机体积小 重量轻 抗干扰能力强 环境要求不高 价格低廉 可靠性高 灵活性好 开发较为容易 由于具有上述优点
  • Qt实现引导界面UITour

    介绍 最近做了一款键鼠自动化 想第一次安装打开后搞一个引导界面 找了好多资料没啥参考 偶然发现qt有引导界面如下图 Qt整挺好 但是未找到源码 真的不想手撸 源码找到了但是Qt整起来太复杂 没法拿来直接用 还是得撸 地地址 下图是仿照qt实
  • sql行转列三个方法

    1 行转列sum if case when 由多行变一行 group by聚合 由一列变多列 衍生提前 select uid sum if course 语文 score NULL as 语文 sum if course 数学 score