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

测试结果

相关推荐
后来后来啊1 分钟前
2026.2.2 & 2.3学习笔记
数据结构·笔记·学习·算法·leetcode
li三河1 分钟前
yolo进行剪枝、蒸馏、量化研究
算法·yolo·剪枝
DarkAthena6 分钟前
【GaussDB】用AI解析UGO中的SQL审核模块的实现
数据库·sql·gaussdb
Emberone6 分钟前
数据结构:算法的时间复杂度和空间复杂度
数据结构·算法
xdpcxq102913 分钟前
MySQL 5.6 2000 万行高频读写表新增字段
数据库·mysql
YuTaoShao13 分钟前
【LeetCode 每日一题】3013. 将数组分成最小总代价的子数组 II
算法·leetcode·职场和发展
huohuopro14 分钟前
Redis安装和杂谈
数据库·redis·缓存
爱尔兰极光24 分钟前
LeetCode 热题 100--字母异位词分组
算法·leetcode·职场和发展
马猴烧酒.25 分钟前
【团队空间|第十一天】基础功能实现,RBAC权限控制,ShardingSphere详解
java·开发语言·数据库
梵刹古音28 分钟前
【C语言】 数组基础与地址运算
c语言·开发语言·算法