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

测试结果

相关推荐
逛逛GitHub11 分钟前
1 个神级智能问数工具,刚开源就 1500 Star 了。
sql·github
寻星探路1 小时前
数据库造神计划第九天---增删改查(CRUD)(5)
数据库
纪元A梦1 小时前
贪心算法应用:K-Means++初始化详解
算法·贪心算法·kmeans
_不会dp不改名_1 小时前
leetcode_21 合并两个有序链表
算法·leetcode·链表
mark-puls1 小时前
C语言打印爱心
c语言·开发语言·算法
Python技术极客1 小时前
将 Python 应用打包成 exe 软件,仅需一行代码搞定!
算法
Alan521591 小时前
🚀 阿里云 ECS + MySQL 环境搭建全流程(用于个人博客系统开发)
数据库·程序员
Huhbbjs2 小时前
SQL 核心概念与实践总结
开发语言·数据库·sql
wuyunhang1234562 小时前
Redis---集群模式
数据库·redis·缓存
睡不醒的kun2 小时前
leetcode算法刷题的第三十四天
数据结构·c++·算法·leetcode·职场和发展·贪心算法·动态规划