首页 > 其他分享 >平均售价

平均售价

时间:2023-08-07 18:46:37浏览次数:18  
标签:02 product price 2019 date 平均 id 售价

Table: Prices

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| product_id    | int     |
| start_date    | date    |
| end_date      | date    |
| price         | int     |
+---------------+---------+
(product_id,start_date,end_date) 是 Prices 表的主键。
Prices 表的每一行表示的是某个产品在一段时期内的价格。
每个产品的对应时间段是不会重叠的,这也意味着同一个产品的价格时段不会出现交叉。
 

Table: UnitsSold

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| product_id    | int     |
| purchase_date | date    |
| units         | int     |
+---------------+---------+
UnitsSold 表没有主键,它可能包含重复项。
UnitsSold 表的每一行表示的是每种产品的出售日期,单位和产品 id。
 

编写SQL查询以查找每种产品的平均售价。
average_price 应该四舍五入到小数点后两位。
查询结果格式如下例所示:

Prices table:
+------------+------------+------------+--------+
| product_id | start_date | end_date   | price  |
+------------+------------+------------+--------+
| 1          | 2019-02-17 | 2019-02-28 | 5      |
| 1          | 2019-03-01 | 2019-03-22 | 20     |
| 2          | 2019-02-01 | 2019-02-20 | 15     |
| 2          | 2019-02-21 | 2019-03-31 | 30     |
+------------+------------+------------+--------+
 
UnitsSold table:
+------------+---------------+-------+
| product_id | purchase_date | units |
+------------+---------------+-------+
| 1          | 2019-02-25    | 100   |
| 1          | 2019-03-01    | 15    |
| 2          | 2019-02-10    | 200   |
| 2          | 2019-03-22    | 30    |
+------------+---------------+-------+

Result table:
+------------+---------------+
| product_id | average_price |
+------------+---------------+
| 1          | 6.96          |
| 2          | 16.96         |
+------------+---------------+
平均售价 = 产品总价 / 销售的产品数量。
产品 1 的平均售价 = ((100 * 5)+(15 * 20) )/ 115 = 6.96
产品 2 的平均售价 = ((200 * 15)+(30 * 30) )/ 230 = 16.96
//首先进行链接,找到购买日期在出售日期之内的数据
//通过分组进行数据计算并且保留两位
select product_id,round(sum(price*units)/sum(units),2) average_price from (
select p.product_id,price,units  from Prices p
left join UnitsSold u
on p.product_id = u.product_id
where u.purchase_date >= start_date  and u.purchase_date <= end_date   ) a
group by product_id 

 

标签:02,product,price,2019,date,平均,id,售价
From: https://www.cnblogs.com/xiaochaofang/p/17612417.html

相关文章

  • 使用SQL 统计表最大值,最小值,平均值,中位数值
    问:有一个postgres数据表,表中有update_time,create_time关于时间戳的字段,选择某个时间段,计算出update_time减去create_time的值做为耗时时间的字段duration_time,统计出在这段时间内耗时时间的平均值,中位数值,最大值,和最小值,请问如何通过sql语句实现此统计?答:您好!您可以使用以下......
  • c++求平均年纪
    班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。#include<cstdio>usingnamespacestd;intmain(){ intn,t; doubles; s=0;   //s储存班上同学年龄之和,初始值赋值为0 scanf("%d",&n);   for(inti=1;i<=n;++i) //循环累加班......
  • IBM报告:2023数据泄露平均成本将达到445万美元
    7月24日,IBM发布年度《数据泄露成本报告》显示,2023年全球数据泄露的平均成本达到445万美元,创该报告有史以来最高纪录,较过去3年均值增长了15%。同一时期,检测安全漏洞和漏洞恶化带来的安全成本上升了42%,占安全漏洞总成本的比值也达到历史最高,这表明企业应对漏洞的调查和处理正变得更加复......
  • pandas模块---------------------------------常用求平均average的用法
    求平均值代码:importpandasaspd#导入模块df=pd.read_excel(r'C:\Users\Administrator/Desktop/test/1.xlsx')#文件路径a=lambdax:x.mean(1).round(2)#lambda函数m=a(df.iloc[:,1:3])#传入第1-3列计算平均值m=pd.DataFrame(m,columns=['平均分'])#转成dataframe,命名列df['......
  • 无旋平衡树(范浩强Treap)平均时间复杂度证明
    范浩强Treap是一种应用广泛的数据结构(可参考OI_Wiki),然而网上难以找到比较严谨的复杂度证明.本文将严格证明\(n\)个结点的Treap的期望树高为\(\Theta(\logn)\),由于一次分裂或合并操作的递归深度恰为树高,这便说明了一次操作的平均时间复杂度为\(\Theta(\logn)\).首先,由......
  • linux 中 awk数组统计每列、行数据之和及平均值
     001、列[root@PC1test02]#lsa.txt[root@PC1test02]#cata.txt##测试数据362825841382##统计每列数据之和[root@PC1test02]#awk'{for(i=1;i<=NF;......
  • 移动平均线Forexclub这样用,一眼识别买卖信号
    Forexclub建议使用H1时间框架和欧元/美元货币对。在该策略中,Forexclub使用了线性加权移动平均线作为主要指标,同时将其作为一个额外的过滤器。线性加权移动平均线(LWMA)的优势在于,它更重视最近的价格变动,而且长期时间框架几乎没有延迟。此外,Forexclub仅根据MA相对于价格变动的位置来......
  • openpyxl模块-----------计算最大值,最小值,平均值
    准备数据: 使用Alt= 计算出每列,每行的和,然后计算最后一列,或者最后一行的总和是437525行,10列,所以是250个元数据使用python脚本:#!/usr/bin/envpythonimportopenpyxlimportstatisticsasstatsbook=openpyxl.load_workbook('C:/Users/Administrator/Desktop/t.xlsx',dat......
  • elasticsearch 聚合函数求和、求平均值
    按dlmc字段分组,对tbmj字段求和、求平均值{"aggs":{"group_by_dlmc_sum":{"terms":{"size":1000,"field":"dlmc.keyword"},......
  • 苹果年度跳水王!M2版Mac mini降到3059元 发售价4499元
    虽然前不久苹果上线了2023款Macmini翻新机,但是M2版本售价高达3819元,远超市场价。这导致官翻机爆冷,很少有用户下单。有意思的是,在第三方电商平台,M2版Macmini的价格则一降再降,如今在拼多多百亿补贴万人团中,售价仅需3059元。对比官网原价的4499元,降价幅度达到1440元,最关键的是......