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

测试结果

相关推荐
vivo互联网技术12 分钟前
活动中台系统慢 SQL 治理实践
java·数据库·后端
JohnFF17 分钟前
48. 旋转图像
数据结构·算法·leetcode
bbc12122617 分钟前
AT_abc306_b [ABC306B] Base 2
算法
爱可生开源社区17 分钟前
当测试工具开始「思考」,是工具还是「同事」?
数据库
生锈的键盘25 分钟前
推荐算法实践:movielens数据集
算法
董董灿是个攻城狮26 分钟前
Transformer 通关秘籍9:词向量的数值实际上是特征
算法
林泽毅34 分钟前
SwanLab x EasyR1:多模态LLM强化学习后训练组合拳,让模型进化更高效
算法·llm·强化学习
小林熬夜学编程36 分钟前
【高并发内存池】第八弹---脱离new的定长内存池与多线程malloc测试
c语言·开发语言·数据结构·c++·算法·哈希算法
haven-85240 分钟前
duckdb不支持向量
数据库·oracle
刚入门的大一新生42 分钟前
归并排序延伸-非递归版本
算法·排序算法