当前位置: 首页 > news >正文

MySQL入门篇-MySQL 行转列小结

备注:测试数据库版本为MySQL 8.0

需求:求emp表各个岗位的工资之和,如无,用0代替

如需要scott用户下建表及录入数据语句,可参考:
scott建表及录入数据sql脚本

CASE语法 

SELECT deptno,ifnull(sum(case when job = 'MANAGER' then sal else 0 end),0)  s_MANAGER,ifnull(sum(case when job = 'ANALYST' then sal else 0 end),0)  s_ANALYST,ifnull(sum(case when job = 'CLERK' then sal else 0 end),0)    s_CLERK,ifnull(sum(case when job = 'PRESIDENT' then sal else 0 end),0)  s_PRESIDENT,ifnull(sum(case when job = 'SALESMAN' then sal else 0 end),0)  s_SALESMANFROM empGROUP BY deptno;
mysql> SELECT deptno,->        ifnull(sum(case when job = 'MANAGER' then sal else 0 end),0)  s_MANAGER,->        ifnull(sum(case when job = 'ANALYST' then sal else 0 end),0)  s_ANALYST,->        ifnull(sum(case when job = 'CLERK' then sal else 0 end),0)    s_CLERK,->        ifnull(sum(case when job = 'PRESIDENT' then sal else 0 end),0)  s_PRESIDENT,->        ifnull(sum(case when job = 'SALESMAN' then sal else 0 end),0)  s_SALESMAN->   FROM emp->  GROUP BY deptno;
+--------+-----------+-----------+---------+-------------+------------+
| deptno | s_MANAGER | s_ANALYST | s_CLERK | s_PRESIDENT | s_SALESMAN |
+--------+-----------+-----------+---------+-------------+------------+
|     10 |   2450.00 |      0.00 | 1300.00 |     5000.00 |       0.00 |
|     20 |   2975.00 |   6000.00 | 1900.00 |        0.00 |       0.00 |
|     30 |   2850.00 |      0.00 |  950.00 |        0.00 |    5600.00 |
+--------+-----------+-----------+---------+-------------+------------+
3 rows in set (0.00 sec)

需求:部门编号为20的所有的员工信息,以行的形式显示

group_concat语法

group_concat语法:
GROUP_CONCAT([DISTINCT] expr [,expr …]
[ORDER BY {unsigned_integer | col_name | expr}
[ASC | DESC] [,col_name …]]
[SEPARATOR str_val])
 

-- 默认分隔符是','
SELECT T.DEPTNO, group_concat(t.ename) namesFROM EMP TWHERE T.DEPTNO = '20'GROUP BY T.DEPTNO;-- 指定根据ename字段排序,分隔符为'-'
SELECT T.DEPTNO, group_concat(t.ename order by ename SEPARATOR '-') namesFROM EMP TWHERE T.DEPTNO = '20'GROUP BY T.DEPTNO;
mysql> -- 默认分隔符是','
mysql> SELECT T.DEPTNO, group_concat(t.ename) names->   FROM EMP T->  WHERE T.DEPTNO = '20'->  GROUP BY T.DEPTNO;
+--------+------------------------------+
| DEPTNO | names                        |
+--------+------------------------------+
|     20 | SMITH,JONES,SCOTT,ADAMS,FORD |
+--------+------------------------------+
1 row in set (0.00 sec)mysql>
mysql> -- 指定根据ename字段排序,分隔符为'-'
mysql> SELECT T.DEPTNO, group_concat(t.ename order by ename SEPARATOR '-') names->   FROM EMP T->  WHERE T.DEPTNO = '20'->  GROUP BY T.DEPTNO;
+--------+------------------------------+
| DEPTNO | names                        |
+--------+------------------------------+
|     20 | ADAMS-FORD-JONES-SCOTT-SMITH |
+--------+------------------------------+
1 row in set (0.00 sec)

相关文章:

MySQL入门篇-MySQL 行转列小结

备注:测试数据库版本为MySQL 8.0 需求:求emp表各个岗位的工资之和,如无,用0代替 如需要scott用户下建表及录入数据语句,可参考:scott建表及录入数据sql脚本 CASE语法 SELECT deptno,ifnull(sum(case when job MANAGER then sal else 0 …...

项目管理常见的十大难题及其症状

01缺少维护文档时常,项目工作紧张时,第一个去掉的就是文档工作。有时即使项目有时间,也不会创建文档;或是创建了文档,却很少在项目进行过程中维护它。症状产品与需求文档不符;技术文档过时,无法保证技术的延…...

技术方案模板

0.基本原则 1.可量化,很大、很多、很高 到底是多少?基本没影响,到底有没有影响什么情况下有影响? 2.可实施,结合实际情况最终可落地 3.可指导,非方案制定人能理解,能在尽量少的人工沟通的情况下实现方案 4.可复用,设计的方案,再次出现类似需求时可以做到少开发或不…...

MySQL中对于单表和多表的操作

一、单表查询素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等显示所有职工的基本信息。mysql8.0 [chap03]>select * from worker;查询所有职工所属部门的部门号,不显示重复的部门号。mysql8.0 [cha…...

MFI认证

一、什么是MFI认证? 苹果MFI认证,是苹果公司(Apple Inc.)对其授权配件厂商生产的外置配件的一种使用许可,MFi认证是apple公司Made for iPhone/iPad/iPod的英文缩写。是指分别为连接iPhone/iPad/iPod而特别设计的电子配件。 [图片] 二、iOS外设连接的几种方式 [图片] 这…...

Vue中mixins的使用

文章目录mixins介绍mixins特点mixins介绍 Mixins:在引入组件之后与组件中的对象和方法进行合并,相当于扩展了父组件的对象与方法,可以理解为形成了一个新的组件。混入 (mixins):是一种分发 Vue 组件中可复用功能的非常灵活的方式…...

【PyQt】PyQt学习(一)框架介绍+环境搭建

简介 写在最前面的话 在决定学习、使用一个框架之前需要考量如下几点: 框架运行效果;框架应用范围;框架学习成本和迁移成本;实现自己所需功能的开发效率; 只有综合考量如上四个方面,才能更好地选择适合…...

浅谈前端设计模式:策略模式和状态模式的异同点

一、策略模式 策略模式是定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 而且策略模式是重构小能力,特别适合拆分“胖逻辑”。 这个定义乍一看会有点懵,不过通过下面的例子就能慢慢理解它的意思。 先来看一个真实场景 某次活动要做…...

线性杂双功能PEG试剂OPSS-PEG-Acid,OPSS-PEG-COOH,巯基吡啶聚乙二醇羧基

英文名称:OPSS-PEG-COOH,OPSS-PEG-Acid 中文名称:巯基吡啶-聚乙二醇-羧基 OPSS-PEG-COOH是一种具有OPSS和羧基的线性杂双功能PEG试剂。它是一种有用的带有PEG间隔基的交联剂。OPSS代表正吡啶基二硫化物或邻吡啶基二硫代,与硫醇、…...

开发微服务电商项目演示(四)

一&#xff0c;网关服务限流熔断降级第1步&#xff1a;启动sentinel-dashboard控制台和Nacos注册中心服务第2步&#xff1a;在网关服务中引入sentinel依赖<!-- sentinel --> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>sprin…...

【C语言学习笔记】:静态库

一、什么是库 库是写好的现有的&#xff0c;成熟的&#xff0c;可以复用的代码。现实中每个程序都要依赖很多基础的底层库&#xff0c;不可能每个人的代码都从零开始&#xff0c;因此库的存在意义非同寻常。 本质上来说库是一种可执行代码的二进制形式&#xff0c;可以被操作…...

社科院与杜兰大学中外合作办学金融管理硕士——30+的年龄在职读研有必要吗?

说起读研&#xff0c;年龄在什么区间最合适呢&#xff1f;上次有位咨询的同学反馈年龄已经快35岁了&#xff0c;有一份不错的工作&#xff0c;但又不甘心止步于此&#xff0c;想要通过提升学历升职加薪&#xff0c;但又纠结自己是否能静下心来学习、是否能顺利毕业、拿到的证书…...

2.13作业【设备树解析,按自己理解】

设备树定义 设备树&#xff08;device tree是描述硬件信息的一种树形结构&#xff0c;设备书文件在linux内核启动后被内核解析。描述一个硬件设备信息的节点我们叫做设备节点&#xff0c;一个设备节点内部包含当前硬件的多个不同属性&#xff0c;相同节点不同属性是以链式结构存…...

《NFL星计划》:巴尔的摩乌鸦·橄榄1号位

巴尔的摩乌鸦&#xff08;英语&#xff1a;Baltimore Ravens&#xff09;是一支职业美式橄榄球球队位于马里兰州的巴尔的摩。他们现时为美国美式橄榄球联合会的北区进行比赛&#xff0c;其主场为M&T银行体育场。乌鸦队曾在2000年和2012年取得超级碗冠军。 巴尔的摩乌鸦 成…...

Allegro如何设置自动保存和自动保存的时间操作指导

Allegro如何设置自动保存和自动保存的时间操作指导 做PCB设计的时候,自动保存软件是一个必要的功能,Allegro同样支持设置自动保存,而且可以设置自动保存的时间。 如下图 具体操作如下 点击Setup点击User Preferences...

Kotlin实现简单音乐播放器

关于音乐播放器&#xff0c;我真的是接触比较多&#xff0c;听歌作为我第一大爱好&#xff0c;之前也用Java设计过音乐播放器&#xff0c;感兴趣的同学可以阅读&#xff1a;Android Studio如何实现音乐播放器&#xff08;简单易上手&#xff09;和 Android Studio实现音乐播放器…...

ShardingSphere-Proxy 数据库协议交互解读

数据库协议对于大部分开发者来说算是比较冷门的知识&#xff0c;一般的用户、开发者都是通过现成的数据库客户端、驱动使用数据库&#xff0c;不会直接操作数据库协议。不过&#xff0c;对数据库协议的特点与流程有一些基本的了解&#xff0c;有助于开发者在排查数据库功能、性…...

基于ubuntu20.4的wine的MDK5软件的安装

本文基于ubuntu20.4安装MDK5的keil软件&#xff0c;由于MDK不提供linux版本的安装软件&#xff0c;因此需要利用wine软件来安装MDK5软件&#xff0c;具体流程包括wine软件安装、MDK5安装及MDK5的lic添加等3部分内容。具体流程如下所示&#xff1a; &#xff08;一&#xff09;…...

Jmeter之直连数据库框架搭建简介

案例简介 通过直连数据库让程序代替接口访问数据库&#xff0c;如果二者预期结果不一致&#xff0c;就找到了程序的缺陷。 下面通过一个案例分析讲解如何实现&#xff1a;获取某个字段值&#xff0c;放在百度上搜索。 实现方式 1、Jmeter本身不具备直连数据库的功能&#xf…...

备战蓝桥杯【高精度乘法和高精度除法】

&#x1f339;作者:云小逸 &#x1f4dd;个人主页:云小逸的主页 &#x1f4dd;Github:云小逸的Github &#x1f91f;motto:要敢于一个人默默的面对自己&#xff0c;强大自己才是核心。不要等到什么都没有了&#xff0c;才下定决心去做。种一颗树&#xff0c;最好的时间是十年前…...

OpenClaw成本控制:GLM-4.7-Flash任务执行的Token消耗优化策略

OpenClaw成本控制&#xff1a;GLM-4.7-Flash任务执行的Token消耗优化策略 1. 为什么需要关注OpenClaw的Token消耗&#xff1f; 第一次用OpenClaw完成整夜的数据整理任务后&#xff0c;我收到了账单提醒——单次任务消耗了超过18万Token。这个数字让我意识到&#xff0c;如果不…...

MOS管技术详解:从基础到工程应用

MOS管技术详解&#xff1a;从基础原理到工程应用1. MOS管基础概念与分类1.1 场效应管基本类型场效应管(FET)主要分为两大类型&#xff1a;结型场效应管(JFET)&#xff1a;Junction Field-Effect Transistor金属氧化物半导体场效应管(MOSFET)&#xff1a;Metal-Oxide-Semiconduc…...

如何利用OpenCode实现高效专业的AI驱动开发工作流?

如何利用OpenCode实现高效专业的AI驱动开发工作流&#xff1f; 【免费下载链接】opencode 一个专为终端打造的开源AI编程助手&#xff0c;模型灵活可选&#xff0c;可远程驱动。 项目地址: https://gitcode.com/GitHub_Trending/openc/opencode 在当今快速迭代的软件开发…...

CUDA知识汇总2——cuFFT

cuFFT作为CUDA最基础的库之一&#xff0c;是NVIDIA提供的GPU加速的Fourier变换FFT库&#xff0c;能极大提升涉及FFT计算的科学计算、信号处理和深度学习等任务的速度。一、傅里叶变换和快速傅里叶变换​ Fourier变换是数字信号处理领域一个很重要的数学变换&#xff0c;它用来实…...

ezLED库详解:Arduino非阻塞LED控制与状态机设计

1. ezLED库深度解析&#xff1a;面向嵌入式工程师的LED控制实践指南1.1 库定位与工程价值ezLED是一个专为Arduino平台设计的轻量级LED控制库&#xff0c;其核心目标并非替代底层GPIO操作&#xff0c;而是在硬件抽象层之上构建可复用、可配置、可调度的LED行为模型。在实际嵌入式…...

SuperSplat:零安装的浏览器端3D高斯点云编辑器,重塑三维数据处理体验

SuperSplat&#xff1a;零安装的浏览器端3D高斯点云编辑器&#xff0c;重塑三维数据处理体验 【免费下载链接】super-splat 3D Gaussian Splat Editor 项目地址: https://gitcode.com/gh_mirrors/su/super-splat 在当今三维重建和计算机视觉领域&#xff0c;处理大规模3…...

为什么AI时代需要Lightpanda这样的无头浏览器?揭秘9倍内存效率背后的技术革命

为什么AI时代需要Lightpanda这样的无头浏览器&#xff1f;揭秘9倍内存效率背后的技术革命 【免费下载链接】browser The open-source browser made for headless usage 项目地址: https://gitcode.com/GitHub_Trending/browser32/browser 在当今AI代理、自动化测试和大规…...

人工智能毕设新颖的课题帮助

1 引言 毕业设计是大家学习生涯的最重要的里程碑&#xff0c;它不仅是对四年所学知识的综合运用&#xff0c;更是展示个人技术能力和创新思维的重要过程。选择一个合适的毕业设计题目至关重要&#xff0c;它应该既能体现你的专业能力&#xff0c;又能满足实际应用需求&#xff…...

ACE-Guard资源限制器完整教程:彻底解决腾讯游戏卡顿问题

ACE-Guard资源限制器完整教程&#xff1a;彻底解决腾讯游戏卡顿问题 【免费下载链接】sguard_limit 限制ACE-Guard Client EXE占用系统资源&#xff0c;支持各种腾讯游戏 项目地址: https://gitcode.com/gh_mirrors/sg/sguard_limit 你是否在玩《地下城与勇士》、《英雄…...

yuzu模拟器终极性能优化:突破帧率限制的完整指南

yuzu模拟器终极性能优化&#xff1a;突破帧率限制的完整指南 【免费下载链接】yuzu-downloads 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu-downloads 你是否正在为yuzu模拟器的卡顿问题而烦恼&#xff1f;游戏画面不流畅、帧率波动大、操作延迟明显&#…...