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

测试结果

相关推荐
SelectDB技术团队1 分钟前
Apache Doris 4.1:面向 AI & Search 的统一数据存储与检索底座
数据库·数据仓库·实时分析·selectdb
狐璃同学5 分钟前
数据结构(2)线性表
数据结构·算法
maqr_1108 分钟前
Golang怎么对接ChatGPT_Golang ChatGPT教程【简明】
jvm·数据库·python
m0_5145205710 分钟前
JavaScript中函数声明位置对解析器预编译的影响
jvm·数据库·python
啦啦啦_999910 分钟前
4. KNN算法之 特征预处理(归一化&标准化)
算法
m0_7436239212 分钟前
SQL多维度统计优化_GROUP BY索引组合设计
jvm·数据库·python
Greyson119 分钟前
HTML怎么创建时间轴布局_HTML结构化时间线写法【方法】
jvm·数据库·python
qq_2069013924 分钟前
如何为 JSON 序列化中的不同浮点字段指定独立的小数精度
jvm·数据库·python
淘气包海鸟25 分钟前
雷达基本原理
算法·信息与通信
空中海27 分钟前
Redis 原理深度解析:持久化 × 主从复制 × Sentinel × Cluster × 性能排查全攻略
数据库·redis·sentinel