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

测试结果

相关推荐
努力毕业的小土博^_^几秒前
【生成式AI】Cross-Attention:多模态融合的神经网络桥梁(上篇)
人工智能·深度学习·神经网络·算法·机器学习·遥感
悦数图数据库4 分钟前
国产图数据库:开启数据新“视”界 悦数科技
数据库·人工智能
啊巴矲7 分钟前
小白从零开始勇闯人工智能Linux初级篇(Navicat Premium及MySQL库(安装与环境配置))
数据库·人工智能·mysql
en-route9 分钟前
Redis 作为消息队列的三种使用方式与 Spring Boot 实践
数据库·spring boot·redis
GreatSQL社区12 分钟前
GreatSQL MGR三节点基于时间点恢复
数据库·oracle
李慕婉学姐14 分钟前
Springboot遇见宠物生活馆系统设计与实现n6ea5118(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·宠物
2501_9419820517 分钟前
企业微信客户联系API中 添加客户 与 发送欢迎语 的异步处理优化
服务器·数据库·php
想不明白的过度思考者18 分钟前
MySQL 数据类型详解
数据库·mysql
聆风吟º20 分钟前
【顺序表习题|图解|双指针】移除元素 + 删除有序数组中的重复项
c语言·数据结构·c++·经验分享·算法
无心水20 分钟前
【神经风格迁移:蒙德里安】12、语义感知的构图重构算法:让蒙德里安风格“理解“图像内容
算法·重构·vgg·信息智能化·csdn月度精选·ai原生架构·神经风格迁移:蒙德里安