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

测试结果

相关推荐
想唱rap8 分钟前
MySQL内置函数
linux·运维·服务器·数据库·c++·mysql
CQ_YM9 分钟前
SQLite3 数据库与网页html
c语言·数据库·sqlite·html
isNotNullX10 分钟前
什么是云计算?一文讲清云计算的概念与作用
数据库·云计算·企业管理
北京地铁1号线12 分钟前
1.4 RAG中的Schema
数据库·rag
源代码•宸15 分钟前
Golang原理剖析(map)
经验分享·后端·算法·golang·哈希算法·散列表·map
wen__xvn18 分钟前
代码随想录算法训练营DAY15第六章 二叉树part03
数据结构·算法·leetcode
Sagittarius_A*20 分钟前
图像滤波:手撕五大经典滤波(均值 / 高斯 / 中值 / 双边 / 导向)【计算机视觉】
图像处理·python·opencv·算法·计算机视觉·均值算法
seeksky20 分钟前
Transformer 注意力机制与序列建模基础
算法
冰暮流星20 分钟前
c语言如何实现字符串复制替换
c语言·c++·算法