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

测试结果

相关推荐
qq_38061916几秒前
html怎么用deno运行_Deno如何作为本地服务器运行HTML文件
jvm·数据库·python
ruan1145143 分钟前
Redis--个人学习记录
数据库·redis·学习
wayz116 分钟前
Day 5:KNN算法与相似K线匹配
人工智能·算法·机器学习
小红的布丁8 分钟前
BIO、NIO、AIO 与 IO 多路复用:select、poll、epoll 详解
java·数据库·nio
袋鼠云数栈8 分钟前
AI 时代,企业为何必须重新思考数据底座?
数据库·数据治理·数据中台·数栈·袋鼠云
Elastic 中国社区官方博客8 分钟前
在 Elastic 中使用 OpenTelemetry 内容包可视化 OpenTelemetry 数据
大数据·开发语言·数据库·elasticsearch·搜索引擎
晨曦中的暮雨16 分钟前
Java集合类型主要有哪些?以及各自原理
数据结构·算法
Mike117.17 分钟前
GBase 8a UNION 和 UNION ALL 的使用边界
大数据·数据库
lixinnnn.28 分钟前
01BFS:Three States
算法
u01074754630 分钟前
mysql如何实现高可用集群架构_基于MHA环境搭建与部署
jvm·数据库·python