首页 > 其他分享 >3293. 计算产品最终价格

3293. 计算产品最终价格

时间:2024-11-27 16:59:22浏览次数:9  
标签:category product 最终 price Products 计算 Electronics id 3293

力扣题目跳转(3293. 计算产品最终价格 - 力扣(LeetCode)

表:Products

+------------+---------+ 
| Column Name| Type    | 
+------------+---------+ 
| product_id | int     | 
| category   | varchar |
| price      | decimal |
+------------+---------+
product_id 是这张表的唯一主键。
每一行包含产品的 ID,分类以及价格。

表:Discounts

+------------+---------+ 
| Column Name| Type    | 
+------------+---------+ 
| category   | varchar |
| discount   | int     |
+------------+---------+
category 是这张表的主键。
每一行包含有一个产品分类和该分类的折扣百分比(值的范围从 0 到 100)。

 题目要求:

编写一个解决方案来找到每个产品使用 分类折扣 后的 最终价格。如果一个产品分类 没有关联的折扣,它的价格保持 不变

返回结果表以 product_id 升序 排序。

结果格式如下所示。

示例:

输入:

Products 表:

+------------+-------------+-------+
| product_id | category    | price |
+------------+-------------+-------+
| 1          | Electronics | 1000  |
| 2          | Clothing    | 50    |
| 3          | Electronics | 1200  | 
| 4          | Home        | 500   |
+------------+-------------+-------+
  

Discounts 表:

+------------+----------+
| category   | discount |
+------------+----------+
| Electronics| 10       |
| Clothing   | 20       |
+------------+----------+
  

输出:

+------------+------------+-------------+
| product_id | final_price| category    |
+------------+------------+-------------+
| 1          | 900        | Electronics |
| 2          | 40         | Clothing    |
| 3          | 1080       | Electronics |
| 4          | 500        | Home        |
+------------+------------+-------------+
  

解释:

  • 对于产品 1,它属于电器分类,有 10% 的折扣,所以最终价格为 1000 - (10% of 1000) = 900。
  • 对于产品 2,它属于衣物分类,有 20% 的折扣,所以最终价格为 50 - (20% of 50) = 40。
  • 对于产品 3,它属于电器分类,有 10% 的折扣,所以最终价格为 1200 - (10% of 1200) = 1080。
  • 对于产品 4,它属于家具分类,没有可用的折扣,所以最终价格仍是 500。

结果表以 product_id 升序排序。

case 1 的建表语句。

Create table if not exists Products (product_id int, category varchar(50), price int)
Create table if not exists Discounts(category varchar(50), discount int)
Truncate table Products
insert into Products (product_id, category, price) values ('1', 'Electronics', '1000')
insert into Products (product_id, category, price) values ('2', 'Clothing', '50')
insert into Products (product_id, category, price) values ('3', 'Electronics', '1200')
insert into Products (product_id, category, price) values ('4', 'Home', '500')
Truncate table Discounts
insert into Discounts (category, discount) values ('Electronics', '10')
insert into Discounts (category, discount) values ('Clothing', '20')

一     很简单的一道题,直接将两者表进行连接。主表为 Products。

select *
from products p
left join discounts d on p.category = d.category

输出如下

二    然后对数据进行计算即可,记得排序。

select
    product_id,
    round((price * (100-ifnull(discount,0)))/100,2) as final_price,
    p.category
from products p
left join discounts d on p.category = d.category
order by product_id;

输出如下

以上就是全部答案,如果对你有帮助请点个赞,谢谢。

来源:力扣(leecode

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 转载请注明出处:

3293. 计算产品最终价格-CSDN博客我会尽快把力扣上的所有数据库题目发出来。每一行包含有一个产品分类和该分类的折扣百分比(值的范围从 0 到 100)。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。product_id 是这张表的唯一主键。结果表以 product_id 升序排序。每一行包含产品的 ID,分类以及价格。编写一个解决方案来找到每个产品使用。category 是这张表的主键。https://blog.csdn.net/CYJ1844/article/details/144088854

我会尽快把力扣上的所有数据库题目发出来。感兴趣的可以点个赞与关注。每天不定时跟新。

标签:category,product,最终,price,Products,计算,Electronics,id,3293
From: https://blog.csdn.net/CYJ1844/article/details/144088854

相关文章

  • 3166. 计算停车费与时长
    力扣题目跳转(3166.计算停车费与时长-力扣(LeetCode))表:ParkingTransactions+--------------+-----------+|ColumnName|Type|+--------------+-----------+|lot_id|int||car_id|int||entry_time|datetime||exit_ti......
  • 利用边缘计算网关轻松解决线缆生产企业设备数据采集
    边缘计算网关集成了数据采集、处理和传输等功能,位于传感器和执行器组成的设备层与云计算平台之间。它能够实时处理和响应本地设备的数据请求,减轻云平台的压力,提高数据处理的速度和效率。边缘计算网关的主要原理是将大部分计算和存储任务从云端移至网络边缘,从而减少数据传输延迟......
  • 将 Python 计算代码转换为渲染的 LaTeX,就像手写一样清晰易懂!
    handcalcs是一个非常实用的开源Python库,它的特别之处在于能够将Python计算结果转换为渲染的LaTeX格式,使得复杂的计算过程像手写公式一样清晰、直观。这个工具对工程师、科学家以及任何从事数值计算的人来说,都可以大幅提高表达计算过程的可读性和透明度。handcalcs......
  • 【计算机毕业设计推荐】基于springboot的青少年心理健康教育网站的设计与实现 【附源
    ✍✍计算机编程指导师⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java实战|SpringBoot/SSMPython实战项目|Django微信小程......
  • 【计算机毕业设计选题推荐】基于springboot的某学院兼职平台的设计与实现 【附源码+讲
    ✍✍计算机编程指导师⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java实战|SpringBoot/SSMPython实战项目|Django微信小程......
  • python+vue基于Web的大学生兼职信息系统(大学生兼职与企业招聘对接系统)javaweb-计算机
    目录技术栈和环境说明具体实现截图预期达到的目标系统设计详细视频演示技术路线解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示研究方法感恩大学老师和同学源码获取技术栈和环境说明本系统以Python开发语言......
  • python+vue基于django/flask的企业综合管理系统(企业资源调度与员工绩效分析平台)java+n
    目录技术栈和环境说明具体实现截图预期达到的目标系统设计详细视频演示技术路线解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示研究方法感恩大学老师和同学源码获取技术栈和环境说明本系统以Python开发语言......
  • eGFR计算器,专业可靠的肾功能评估工具
    在当今数字化医疗时代,准确评估肾功能对于疾病预防和治疗至关重要。eGFR计算器作为一款专业的在线工具,为医疗工作者和患者提供了便捷可靠的肾小球滤过率(eGFR)计算服务。什么是eGFR?eGFR(估算的肾小球滤过率)是评估肾功能的重要医学指标。它通过测量每分钟肾小球过滤的血液量来反......
  • 不同云计算网络安全等级
    等级保护定级流程定级是开展网络安全等级保护工作的“基本出发点”,虚拟化技术使得传统的网络边界变得模糊,使得使用云计算技术的平台/系统在定级时如何合理进行边界拆分显得困难。云计算等级保护对象的合理定级对云计算系统/平台责任方在落实等级保护制度时有着决定性的作用......
  • 计算机专业找工作没方向?零基础入门到精通,收藏这一篇就够了
    01计算机专业就业优势**1.市场需求大:**随着数字化转型和技术创新的加速,计算机专业人才在金融、电子、教育等多个行业都有很高的需求。**2.就业范围广:**计算机专业的毕业生可以从事网络安全、数据分析、人工智能、软件开发、云计算、游戏开发等多个领域的工作。**3.薪资......