3050. 披萨配料成本分析

力扣题目跳转(3050. 披萨配料成本分析 - 力扣(LeetCode)

表:Toppings

+--------------+---------+ 
| Column Name  | Type    | 
+--------------+---------+ 
| topping_name | varchar | 
| cost         | decimal |
+--------------+---------+
topping_name 是这张表的主键。
这张表的每一行包含配料名和配料的花费。

 题目要求:

编写一个解决方案根据给定的配料表来计算 所有可能的 3 种配料 披萨组合的 总花费。总花费必须 舍入 到 2 位 整数

注意:

  • 不要 包含 重复 配料的披萨。例如,‘Pepperoni, Pepperoni, Onion Pizza’。
  • 配料 必须 以 字母顺序 排序。例如,'Chicken, Onions, Sausage'。'Onion, Sausage, Chicken' 不会被通过。

返回结果表,以总花费 降序 排序,配料的组合 升序 排序。

返回格式如下所示。

示例 1:

输入: 
Toppings 表:
+--------------+------+
| topping_name | cost |
+--------------+------+
| Pepperoni    | 0.50 |
| Sausage      | 0.70 |
| Chicken      | 0.55 |
| Extra Cheese | 0.40 |
+--------------+------+
输出: 
+--------------------------------+------------+
| pizza                          | total_cost | 
+--------------------------------+------------+
| Chicken,Pepperoni,Sausage      | 1.75       |  
| Chicken,Extra Cheese,Sausage   | 1.65       |
| Extra Cheese,Pepperoni,Sausage | 1.60       |
| Chicken,Extra Cheese,Pepperoni | 1.45       | 
+--------------------------------+------------+
解释: 
这三种配料只有四种不同的组合:
- Chicken, Pepperoni, Sausage:总花费是 $1.75 (Chicken $0.55,Pepperoni $0.50,Sausage $0.70)。
- Chicken, Extra Cheese, Sausage:总花费是 $1.65 (Chicken $0.55,Extra Cheese $0.40,Sausage $0.70)。
- Extra Cheese, Pepperoni, Sausage:总花费是 $1.60 (Extra Cheese $0.40,Pepperoni $0.50,Sausage $0.70)。
- Chicken, Extra Cheese, Pepperoni:总花费是 $1.45 (Chicken $0.55,Extra Cheese $0.40,Pepperoni $0.50)。
输出表根据总花费降序排序。

case 1 的建表语句。

Create table if not exists Toppings(topping_name varchar(100), cost decimal(5,2))
Truncate table Toppings
insert into Toppings (topping_name, cost) values ('Pepperoni', '0.5')
insert into Toppings (topping_name, cost) values ('Sausage', '0.7')
insert into Toppings (topping_name, cost) values ('Chicken', '0.55')
insert into Toppings (topping_name, cost) values ('Extra Cheese', '0.4')

一     首先我们先增加一列排序,是根据 topping_name 排序的。

select *,row_number() over (order by topping_name) as rn from toppings;

输出如下

二    然后以次表为本,开始自连接。

select
        concat_ws(',',t1.topping_name,t2.topping_name,t3.topping_name) as pizza,
        round(t1.cost + t2.cost + t3.cost,2) as total_cost from
(select *,row_number() over (order by topping_name) as rn from toppings) t1,
(select *,row_number() over (order by topping_name) as rn from toppings) t2,
(select *,row_number() over (order by topping_name) as rn from toppings) t3
where t1.rn < t2.rn and t2.rn < t3.rn order by total_cost desc ,pizza;

输出如下

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

来源:力扣(leecode

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

 转载请注明出处:

3050. 披萨配料成本分析-CSDN博客Extra Cheese, Pepperoni, Sausage:总花费是 $1.60 (Extra Cheese $0.40,Pepperoni $0.50,Sausage $0.70)。- Chicken, Extra Cheese, Pepperoni:总花费是 $1.45 (Chicken $0.55,Extra Cheese $0.40,Pepperoni $0.50)。商业转载请联系官方授权,非商业转载请注明出处。这张表的每一行包含配料名和配料的花费。输出表根据总花费降序排序。https://blog.csdn.net/CYJ1844/article/details/144040312

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值