目录
一、力扣原题链接
二、题目描述
三、建表语句
四、题目分析
五、SQL解答
六、最终答案
七、验证
八、知识点
一、力扣原题链接
1867. 最大数量高于平均水平的订单
二、题目描述
表
+-------------+------+ | Column Name | Type | +-------------+------+ | order_id | int | | product_id | int | | quantity | int | +-------------+------+ (order_id, product_id) 是此表的主键。 单个订单表示为多行,订单中的每个产品对应一行。 此表的每一行都包含订单id中产品id的订购数量。您正在运行一个电子商务网站,该网站正在寻找不平衡的订单。不平衡订单的订单最大数量严格大于每个订单(包括订单本身)的平均数量。
订单的平均数量计算为(订单中所有产品的总数量)/(订单中不同产品的数量)。订单的最大数量是订单中任何单个产品的最高数量。
编写SQL查询以查找所有不平衡订单的订单id。
按任意顺序返回结果表。
查询结果格式如下例所示。
示例:
输入: OrdersDetails 表: +----------+------------+----------+ | order_id | product_id | quantity | +----------+------------+----------+ | 1 | 1 | 12 | | 1 | 2 | 10 | | 1 | 3 | 15 | | 2 | 1 | 8 | | 2 | 4 | 4 | | 2 | 5 | 6 | | 3 | 3 | 5 | | 3 | 4 | 18 | | 4 | 5 | 2 | | 4 | 6 | 8 | | 5 | 7 | 9 | | 5 | 8 | 9 | | 3 | 9 | 20 | | 2 | 9 | 4 | +----------+------------+----------+ 输出: +----------+ | order_id | +----------+ | 1 | | 3 | +----------+ 解释: 每份订单的平均数量为: - order_id=1: (12+10+15)/3 = 12. - order_id=2: (8+4+6+4)/4 = 5.5 - order_id=3: (5+18+20)/3 = 14. - order_id=4: (2+8)/2 = 5 - order_id=5: (9+9)/2 = 9 每个订单的最大数量为: - order_id=1: max(12, 10, 15) = 15 - order_id=2: max(8, 4, 6, 4) = 8 - order_id=3: max(5, 18, 20) = 20 - order_id=4: max(2, 8) = 8 - order_id=5: max(9, 9) = 9 订单1和订单3是不平衡的,因为它们的最大数量超过了它们订单的平均数量。
三、建表语句
四、题目分析
需求:
不平衡订单的订单最大数量严格大于每个订单(包括订单本身)的平均数量
编写SQL查询以查找所有不平衡订单的订单id
重点:
严格大于每个订单(包括订单本身)的平均数量也就是大于每个订单的平均数量的最大值
步骤:
1、取每份订单的平均数量
2、取每份订单平均数量的最大值
3、取每个订单的最大数量
4、每个订单的最大数量大于每份订单平均数量的最大值
五、SQL解答
1、取每份订单的平均数量
2、取每份订单平均数量的最大值
3、每个订单的最大数量
4、每个订单的最大数量大于每份订单平均数量的最大值
六、最终答案
七、验证
八、知识点
到此这篇sqlldr提交数据条数(sqlldr 提交行数)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!avg 平均值
max 最大值
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sjkxydsj/65609.html