SQL:一行中存在任一指标就显示出来

       当想要统计的两个指标不在一张表中时,需要做关联。但很多情况下,也没有办法保证其中一张表的维度是全的,用left join或right join可能会导致数据丢失。所以借助full join处理。

1)如,将下面的数据处理成表格中的效果(维度就是name)。
样例数据
目标效果:

namenumbershow_number
A3000.80
B100NULL
C1500.20
DNULL0.66
select if(r.name is null ,r.name2,r.name) as name, -- 保留有值的namer.number,r.show_number
from 
(   -- 数据合并select t1.name,t1.number,t2.name as name2,t2.show_numberfrom (select 'A' as name,300 as numberunion all select 'B' ,100union all select 'C' ,150 ) as t1full join (select 'A' as name,0.8 as show_numberunion all select 'D',0.66union all select 'C',0.2) as t2 on t1.name=t2.name
) as r

结果 :
结果
2)如果再增加一个维度type的话:

select if(r.name is null ,r.name2,r.name) as name, -- 保留有值的nameif(r.type is null ,r.type2,r.type) as type,r.number,r.show_number--   r.type2
from 
(   -- 数据合并select t1.name,t1.number,t1.type,t2.name as name2,t2.show_number,t2.type as type2from (select 'A' as name,300 as number,'red' as typeunion all select 'B' ,100,'red'union all select 'C' ,150 ,'red') as t1full join (select 'A' as name,0.8 as show_number,'red' as typeunion all select 'D',0.66,'green'union all select 'C',0.2,'green') as t2 on t1.name=t2.name and t1.type=t2.type
) as r

结果:
在这里插入图片描述

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

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

相关文章

基于springboot生鲜交易系统源码和论文

首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包括软件架构模式、整体功能模块、数据库设计。本项…

Spring Boot 3 + Vue 3实战:实现用户登录功能

文章目录 一、实战概述二、实战步骤​(一)创建前端项目 - login-vue1、创建Vue项目2、安装axios模块3、安装vue-router模块4、安装less和less-loader模块5、运行Vue项目6、在浏览器里访问首页7、在IDEA里打开Vue项目8、创建登录Vue组件9、创建首页Vue组件…

rime中州韵小狼毫 词组注释 滤镜

教程目录:rime中州韵小狼毫须鼠管安装配置教程 保姆级教程 100增强功能配置教程 在rime中州韵小狼毫 联想词组 滤镜一文中,我们通过Filter滤镜功能配置了联想词组的功能,这使得我们在输入一些关键词汇时,可以联想补充一些附加的词…

HarmonyOS开发FA应用模型下多个页面的声明方式

目录 方式1 方式2 HarmonyOS配套的IDE是DevEco Studio,目前的版本是3.1。官网可以直接下载 HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 ​ 方式1 ​在DevEco Studio如果是在pages目录通过右键New->ArkTS File生成的文件,需要注意&…

移动硬盘无法识别处理办法

今天这里做一下总结,我现在手上有一个移动硬盘,插入win10电脑是有盘号的,但是 但是点击就出问题 解决办法 安装DiskGenius 下载网址在https://www.diskgenius.cn/download.php 下载之后解压安装就行,非常简单,然后…

C++力扣题目501--二叉搜索树中的众数

给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。 如果树中有不止一个众数,可以按 任意顺序 返回。 假定 BST 满足如下定义&#xf…

B端产品经理学习-版本规划管理

首先我们回顾一下用户故事,用户故事有如下特点: PRD文档的特点则如下: B端产品中用户角色不同,需求侧重也不同 决策人——公司战略需求:转型升级、降本增效、品牌提升等 管理负责人——公司管理需求:提升…

ROS2】MOMO的鱼香ROS2(六)ROS2入门篇——ROS2通信之参数与动作

ROS2通信之参数与动作 引言1 参数通信1.1 参数常用指令 2 参数之RCLPY实现2.1 创建功能包和节点2.2 编辑脚本文件parameters_basic.py2.3 编译测试 3 动作(Action)通信3.1 动作常用指令 3.2 自定义通信接口4 动作之RCLPY实现 引言 笔者跟着鱼香ROS的ROS…

全屏页面滚动个人简历模板源码

标题模板介绍 HTML5全屏页面滚动个人简历模板,响应式设计,自适应屏幕分辨率,兼容PC端 和手机移动端,单页面,多栏目,有工作经验、联系我、技能、关于我等栏目。 下载地址 CSDN下载

新版网易滑块

突然发现脸皮厚根本没用,大冬天的,风吹过来还是会冷。 大哥们多整件衣裳,好冷!!!! 网易更新了,这俩 dt跟f值。 dt为 这里返回的,忽略掉他。 data参数中的d值&#xff…

驾驭未来:从传统运维到智能化运维的转型之路

随着科技的飞速发展,企业的业务需求也在不断变化。为了满足这些需求,企业的IT架构逐渐向云原生、容器化和微服务化演进。作为支撑企业业务发展的运维人员,我们需要紧跟时代步伐,不断提升自己的技能和认知水平。 在2023年全球运维大…

python统计分析——操作案例(模拟抽样)

参考资料:用python动手学统计学 import numpy as np import pandas as pd from matplotlib import pyplot as plt import seaborn as snsdata_setpd.read_csv(r"C:\python统计学\3-4-1-fish_length_100000.csv")[length] #此处将文件路径改为自己的路…

计算机网络 —— 数据链路层

数据链路层 3.1 数据链路层概述 数据链路层把网络层交下来的数据构成帧发送到链路上,以及把收到的帧数据取出并上交给网络层。链路层属于计算机网络的底层。数据链路层使用的信道主要由以下两种类型: 点对点通信。广播通信。 数据链路和帧 链路&…

网络共享服务

存储类型:直连式(DAS):距离最近,存储设备且直接连接到服务器上 存储区域网络(SAN):适用于大型应用或数据库系统,可以使用文件的空间, 以及管理空间…

如何在Windows 10/11的防火墙中禁止和允许某个应用程序,这里提供详细步骤

想阻止应用程序访问互联网吗?以下是如何通过简单的步骤阻止和允许Windows防火墙中的程序。​ 一般来说,大多数用户永远不需要担心应用程序访问互联网。然而,在某些情况下,你需要限制应用程序访问互联网。 例如,有问题…

Linux系统使用超详细(十)~vi/vim命令①

vi/vim命令有很多,其实只有少数的用法对于我们日常工作中起到了很大帮助,但是既然我选择梳理Linux的学习笔记,那么一定全力把自己的理解和学习笔记的内容认真整理汇总,内容或许有错误,还请发现的C友们发现了及时指出。…

线性代数——行列式按行(列)展开

目录 一、余子式:将行列式某元素所在行和列的元素全去掉 剩余部分所构成的行列式,称为该元素的余子式 二、代数余子式 三、行列式等于它的任一行(列)的各元素与对应代数余子式乘积之和 四、行列式某行元素(列&…

C++核心编程之类和对象---C++面向对象的三大特性--多态

目录 一、多态 1. 多态的概念 2.多态的分类: 1. 静态多态: 2. 动态多态: 3.静态多态和动态多态的区别: 4.动态多态需要满足的条件: 4.1重写的概念: 4.2动态多态的调用: 二、多态 三、多…

Elasticsearch:Search tutorial - 使用 Python 进行搜索 (四)

在本节中,你将了解另一种机器学习搜索方法,该方法利用 Elastic Learned Sparse EncodeR 模型或 ELSER,这是一种由 Elastic 训练来执行语义搜索的自然语言处理模型。这是继之前的文章 “Elasticsearch:Search tutorial - 使用 Pyth…

JDK介绍

JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit),JDK是一个写Java的applet和应用程序的程序开发环境。它由一个处于操作系统层之…