【力扣白嫖日记】1795.每个产品在不同商店的价格

前言

练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。

今日题目:

1795.每个产品在不同商店的价格
表:Products

列名类型
product_idint
store1int
store2int
store3int

在 SQL 中,这张表的主键是 product_id(产品Id)。每行存储了这一产品在不同商店 store1, store2, store3 的价格。如果这一产品在商店里没有出售,则值将为 null。

请你重构 Products 表,查询每个产品在不同商店的价格,使得输出的格式变为(product_id, store, price) 。如果这一产品在商店里没有出售,则不输出这一行。

输出结果表中的 顺序不作要求 。


我那不值一提的想法:

  • 首先梳理表内容,题干一共给了一张产品表,记录了产品id,以及产品在不同商店的价格
  • 其次分析需求,需要我们重构数据表,将三列商店数据合并成一列商店数据。
  • 我的想法就是利用union将几个商店的结果连接起来。
select product_id,"store1" as store,store1 as price
from Products 
where store1 is not null
union
select product_id,"store2" as store,store2 as price
from Products
where store2 is not null
union
select product_id,"store3" as store,store3 as price
from Products
where store3 is not null

后面我看了下题解,有专门的总结,一般行转列使用sum(if())+groupby,列转行也就是题干中的要求一般使用union/union all


结果:

在这里插入图片描述


总结:

能运行就行。


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

项目中和兄弟部门难以高效协作?你需要注意这四点

在组织架构日益复杂的今天,靠一个人单打独斗完成工作或项目越来越难,也越来越不可能。不知你是否留意过,无论招聘什么岗位,几乎所有企业都在强调“团队合作”。 这里的团队不光指的是同部门协作,要包括公司内部的跨部门…

网络原理 - HTTP/HTTPS(1)

HTTP HTTP是什么 HTTP("全程超文本协议")是一种应用非常广泛的应用层协议. 文本:字符串(能在utf8/gbk)码表上找到合法字符. 超文本:不仅是字符串,还能携带图片啥的(HTML). 富文本:类似于word文档这种. HTTP诞生于1991年.目前已经发展为最主流使用的一种应用层协议.…

不等式的证明之二

不等式的证明之二 证明下述不等式证法一证法二证法二的补充 证明下述不等式 设 a , b , c a,b,c a,b,c 是正实数,请证明下述不等式: 11 a 5 a 6 b 11 b 5 b 6 c 11 c 5 c 6 a ≤ 3 \begin{align} \sqrt{\frac{11a}{5a6b}}\sqrt{\frac{11b}{5b6c}…

centos7如何切换到root用户

在 CentOS 7 中,你可以通过几种方式切换到 root 用户。最常用的方法是使用 su (switch user) 命令或者 sudo 命令。这里是如何使用这些命令的详细说明: 使用 su 命令 打开终端。输入以下命令并按下回车键:su -系统会提示你输入 root 用户的…

云手机在引流方面有什么优势?

对于电商商家而言,无论是在亚马逊还是其他平台,有效的流量来源主要集中在短视频引流和社交电商营销。要在新兴社交平台为企业电商带来更多流量,不可忽视云手机的关键作用和独特优势。 云手机的定义与作用 在经营TikTok、Facebook和INS账号时&…

外汇110:外汇做空是什么意思?如何运作?一文读懂

外汇市场允许卖空,就像众多金融市场一样。但什么是卖空呢?如何外汇做空?在本文中,我们将讨论如何做空货币。什么是外汇做空? 外汇做空(Short Selling)是外汇市场上的一种投资方式。它指的是投资…

Java面向对象案例之设计用户去ATM机存款取款(三)

需求及思路分析 业务代码需求: 某公司要开发“银行管理系统”,请使用面向对象的思想,设计银行的储户信息,描述存款、取款业务。 储户类的思路分析: 属性:用户姓名、密码、身份证号、账号、帐户余额 方法&a…

vue生命周期函数

父子组件加载顺序 加载渲染过程 父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount->子mounted->父mounted子组件更新过程 父beforeUpdate->子beforeUpdate->子updated->父updated父组件更新过程 父beforeU…

JS画布内生成图标,并实现拖拽,连线,刷新

JS有现成的拖拽命令&#xff0c;但是只能实现简单的拖拽功能&#xff0c;下面演示的可以在画布的任意一个地方拖拽&#xff0c;并停留在画布的任意地方。 整个框架代码如下&#xff1a; <html> <head><meta charset"UTF-8"><title>拖拽放置…

【详解】图的概念和存储结构(邻接矩阵,邻接表)

目录 图的基本概念&#xff1a; 图的存储结构 邻接矩阵&#xff08;GraphByMatrix&#xff09;&#xff1a; 基本参数&#xff1a; 初始化&#xff1a; 获取顶点元素在其数组中的下标 &#xff1a; 添加边和权重&#xff1a; 获取顶点的度&#xff1a; 打印图&#xf…

动态代理IP如何选择?

IP地址是由IP协议所提供的一种统一的地址格式&#xff0c;通过为每一个网络和每一台主机分配逻辑地址的方式来屏蔽物理地址的差异。根据IP地址的分配方式&#xff0c;IP可以分为动态IP与静态IP两种。对于大部分用户而言&#xff0c;日常使用的IP地址均为动态IP地址。从代理IP的…

CCF-A类VLDB’24 3月1日截稿!数据界的璀璨盛会等你投稿!

会议之眼 快讯 第50届VLDB( International Conference on Very Large Databases)即超大型数据库国际会议将于 2024 年 8月25日至29日在中国广州朗廷广场隆重举行&#xff01;VLDB大会是数据库领域的顶级学术盛会&#xff0c;而SIGMOD和ICDE则是与之齐名的另外两大数据库会议。这…

Android电量相关知识

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、 查看耗电情况3.1 注册广播 ACTION…

HBuilderX 插件开发指南(一):从插件开发到发布的完整流程

前端目前主流使用的IDE工具有VS Code、Sublime Text3、HBuilder X等等 本期我们主要了解HBuilder X&#xff0c;作为前端通用型开发工具&#xff0c;拥有可视化的操作方式&#xff0c;内置相关环境&#xff0c;开箱即用&#xff0c;无需配置nodejs等优点外&#xff0c;对uni-a…

notepad++打开文本文件乱码的解决办法

目录 第一步 在编码菜单栏下选择GB2312中文。如果已经选了忽略这一步 第二步 点击编码&#xff0c;红框圈出来的一个个试。我切换到UTF-8编码就正常了。 乱码如图。下面分享我的解决办法 第一步 在编码菜单栏下选择GB2312中文。如果已经选了忽略这一步 第二步 点击编码&#…

Vue项目启动过程全记录(node.js运行环境搭建)

一、安装node.js并配置环境变量 1、安装node.js 从Node.js官网下载安装包并安装。然后在安装后的目录&#xff08;如果是下载的压缩文件&#xff0c;则是解压缩的目录&#xff09;下新建node_global和node_cache这两个文件夹。 node_global&#xff1a;npm全局安装位置 node_…

Unity中,C#的事件与委托区别和经典实例

文章目录 实例1&#xff1a;委托&#xff08;Delegate&#xff09;的基本用法实例2&#xff1a;事件&#xff08;Event&#xff09;的声明与订阅实例3&#xff1a;Unity引擎中的委托实例 - UI Button.onClick实例4&#xff1a;事件&#xff08;Event&#xff09;的安全性实例5&…

上位机图像处理和嵌入式模块部署(cmake的使用)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 过去我们编写windows程序的时候&#xff0c;习惯上都是直接使用visual studio创建工程开发。而开发linux程序的时候&#xff0c;则是编写好c、cpp代…

C++ 离散化 算法 (详解)+ 例题

1、性质 把无限空间中有限的个体映射到有限的空间中去&#xff0c;以此提高算法的空间效率。通俗的说&#xff0c;离散化是在不改变数据相对大小的条件下&#xff0c;对数据进行相应的压缩。 适用范围&#xff1a;数的跨度很大&#xff0c;用的数很稀疏 例如&#xff1a;值域…

无形的伤害

有时候 我们往往很注意和陌生人或朋友之间的交往&#xff0c;关注情绪&#xff0c;语气&#xff0c;声调等等&#xff0c;生怕冲撞唐突了对方。 但往往会忽略身边人的感受&#xff0c;尤其是亲人和亲密的朋友&#xff0c;把他们对我们的关心当做理所当然的&#xff0c;和他们交…