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

测试结果

相关推荐
空空潍几秒前
hot100-滑动窗口最大值(day11)
数据结构·c++·算法·leetcode
Li_7695322 分钟前
Redis 进阶(六)—— 集群
数据库·redis·缓存
朔北之忘 Clancy4 分钟前
2025 年 6 月青少年软编等考 C 语言一级真题解析
c语言·开发语言·c++·学习·算法·青少年编程·题解
guygg885 分钟前
结合VD算法与IMM算法的卡尔曼滤波机动目标跟踪方法
人工智能·算法·目标跟踪
德彪稳坐倒骑驴14 分钟前
Hive SQL常遗忘的命令
hive·hadoop·sql
R-G-B14 分钟前
BM28 二叉树的最大深度
数据结构·算法·二叉树·bm28·二叉树的最大深度
山峰哥16 分钟前
3000字深度解析:SQL调优如何让数据库查询效率提升10倍
java·服务器·数据库·sql·性能优化·编辑器
用户02033886131422 分钟前
红黑树主要功能实现
算法
tyatyatya23 分钟前
MySQL Group Replication(MGR)集群部署,实现自动故障切换
数据库·mysql