SQL-每日一题【1179. 重新格式化部门表】

题目

部门表 Department

编写一个 SQL 查询来重新格式化表,使得新的表中有一个部门 id 列和一些对应 每个月 的收入(revenue)列。

查询结果格式如下面的示例所示:

 

 

解题思路

1.题目要求我们重新格式化表,使得新的表中有一个部门 id 列和一些对应 每个月 的收入(revenue)列,这道题的思路比较简单,就是有点繁琐。

2.首先我们需要按照 id 将记录分组,然后用 case()函数去判断id 所对应的 month 是否存在,若存在我们就直接返回 month 所对应的 revenue ,若不存在,我们就返回null。判断完十二个月后返回即可。

代码实现

select id, sum(case `month` when 'Jan' then revenue else null end) as Jan_Revenue, sum(case `month` when 'Feb' then revenue else null end) as Feb_Revenue, sum(case `month` when 'Mar' then revenue else null end) as Mar_Revenue, sum(case `month` when 'Apr' then revenue else null end) as Apr_Revenue, sum(case `month` when 'May' then revenue else null end) as May_Revenue, sum(case `month` when 'Jun' then revenue else null end) as Jun_Revenue, sum(case `month` when 'Jul' then revenue else null end) as Jul_Revenue, sum(case `month` when 'Aug' then revenue else null end) as Aug_Revenue, sum(case `month` when 'Sep' then revenue else null end) as Sep_Revenue, sum(case `month` when 'Oct' then revenue else null end) as Oct_Revenue, sum(case `month` when 'Nov' then revenue else null end) as Nov_Revenue, sum(case `month` when 'Dec' then revenue else null end) as Dec_Revenue
from Department group by id

 

测试结果

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GO语言基础语法探究:简洁高效的编程之道

文章目录 前言Go词法单元token标识符关键字( 25个 )内置数据类型标识符( 20个 )内置函数( 15个 )常量值标识符( 4个)空白标识符( 1个 ) 操作符和分隔符字面常…

侯捷C++高级编程(下)

对于1个类要么像指针要么像函数 主题1:转换函数 转换函数 /** 1. 转换函数没有返回类型* 2. 转换函数一般需要加上const*/ class Fraction { public:Fraction(int num,int den1):m(num),n(den){cout<<"Fraction(int num,int den1): m/n "<< m/n<&…

PoseFormer:基于视频的2D-to-3D单人姿态估计

3D Human Pose Estimation with Spatial and Temporal Transformers论文解析 摘要1. 简介2. Related Works2.1 2D-to-3D Lifting HPE2.2 GNNs in 3D HPE2.3 Vision Transformers 3. Method3.1 Temporal Transformer Baseline3.2 PoseFormer: Spatial-Temporal TransformerSpati…

Spring Boot通过切面实现方法耗时情况

Spring Boot通过切面实现方法耗时情况 依赖 <dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.9.1</version></dependency>自定义注解 package com.geekmice.springbootself…

【前端 | CSS】aligin-items与aligin-content的区别

align-items 描述 CSS align-items 属性将所有直接子节点上的 align-self 值设置为一个组。align-self 属性设置项目在其包含块中在交叉轴方向上的对齐方式 align-items是针对每一个子项起作用&#xff0c;它的基本单位是每一个子项&#xff0c;在所有情况下都有效果&…

微信生态升级!小绿书来了!

如你所知&#xff0c;微信不只是一个聊天工具。一切从照片开始&#xff0c;你拍了一张照片&#xff0c;你就拥有了自己的相册&#xff0c;在“朋友圈”你可以了解朋友们的生活。如你所见&#xff0c;微信&#xff0c;是一个生活方式。不知不觉间&#xff0c;微信已经走过了 11个…

LeetCode--HOT100题(22)

目录 题目描述&#xff1a;160. 相交链表&#xff08;简单&#xff09;题目接口解题思路代码 PS: 题目描述&#xff1a;160. 相交链表&#xff08;简单&#xff09; 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表…

Spring中Bean的“一生”(生命周期)

文章目录 一、图解二、文字解析总结 一、图解 >注&#xff1a;处于同一行的执行顺序是从左往右 二、文字解析 SpringBean的生命周期总体分为四个阶段&#xff1a;实例化>属性注入>初始化>销毁 Step1 实例化Bean&#xff1a;根据配置文件中Bean的定义&#xff0c;…

MyCat管理及监控——zookeeper及MyCat-web安装

1.MyCat管理 2.MyCat-eye 3.zookeeper安装 第一步&#xff1a;解压 第二部&#xff1a; 切换目录&#xff0c;创建data文件夹 第三步&#xff1a;修改zookeeper配置文件 这样zookeeper安装及配置就完成了 4.MyCat-web安装 注意mycat-web要与zookeeper关联&#xff0c;…

Effective Java笔记(26)请不要使用原生态类型

首先介绍一些术语 。 声明中具有一个或者多个类型参数&#xff08; type parameter &#xff09;的类或者接口&#xff0c;就是泛型&#xff08; generic &#xff09;类或者接口 。 例如&#xff0c;List 接口就只有单个类型参数 E &#xff0c;表示列表的元素类型 。这个接口…

如何识别手机是否有灵动岛(dynamic island)

如何识别手机是否有灵动岛&#xff08;dynamic island&#xff09; 灵动岛是苹果2022年9月推出的iPhone 14 Pro、iPhone 14 Pro Max首次出现&#xff0c;操作系统最低是iOS16.0。带灵动岛的手机在竖屏时顶部工具栏大于等于51像素。 #define isHaveDynamicIsland ({ BOOL isH…

【原创】基于JavaWeb的婚礼策划平台

主要功能介绍&#xff1a;系统基于Java语言开发。整个程序属于B/S架构应用。在开发的时候&#xff0c;将婚礼策划中主要的业务如&#xff1a;婚纱摄影预约以及婚纱租赁等作为主要的目标和研究方向。婚礼策划平台系统从整体结构设计上&#xff0c;由网站前台和系统后台组成。网站…