SQL-每日一题【1251. 平均售价】

题目

Table: Prices

Table: UnitsSold

编写SQL查询以查找每种产品的平均售价。
average_price 应该四舍五入到小数点后两位。

查询结果格式如下例所示:

解题思路

1.题目要求查询每种产品的平均售价。给出了两个表,我们用聚合查询来解决此问题。

2.首先我们将两个表做连接,连接条件是 p.product_id = u.product_id,然后我们在筛选出出售日期在保质期内的记录,where u.purchase_date >= p.start_date and u.purchase_date <= p.end_date ,最后我们使用sum()函数计算出平均值,再用round()函数保留两位小数即可。

代码实现

sql 复制代码
select p.product_id, round(sum(p.price * u.units) / sum(u.units), 2) average_price
from Prices p
join UnitsSold u 
on p.product_id = u.product_id
where u.purchase_date >= p.start_date
and u.purchase_date <= p.end_date
group by product_id

测试结果

相关推荐
qq_4138474019 小时前
如何处理MongoDB跨分片事务报错_4.2+分布式事务的限制与两阶段提交延迟
jvm·数据库·python
InfinteJustice19 小时前
HTML函数在超频CPU上更流畅吗_超频对HTML函数影响【技巧】
jvm·数据库·python
AKA__Zas19 小时前
初识 事务
java·开发语言·数据库·sql
kongba00719 小时前
2026年4月19日 kimi记忆备份
java·前端·数据库
发发就是发20 小时前
USB系统架构概述:从一次诡异的枚举失败说起
驱动开发·单片机·嵌入式硬件·算法·fpga开发
xyyaihxl20 小时前
【SQL技术】不同数据库引擎 SQL 优化方案剖析
数据库·sql
214396520 小时前
Less如何构建CSS样式库_通过继承机制优化组件化开发
jvm·数据库·python
少许极端20 小时前
算法奇妙屋(四十七)-ST表
算法·st表·rmq
qq_4138474020 小时前
如何通过 reflect.Value 获取切片的底层值
jvm·数据库·python
zhangchaoxies20 小时前
JavaScript中单线程事件循环EventLoop的卡顿预警
jvm·数据库·python