使用来自多个表的 group by 聚合函数
Posted
技术标签:
【中文标题】使用来自多个表的 group by 聚合函数【英文标题】:Use aggregate functions with group by from several tables 【发布时间】:2021-09-26 01:45:39 【问题描述】:我有以下表格允许订阅者通过应用程序销售产品
订单表
OrderId | Date |
---|---|
1 | 2021-07-10 |
2 | 2021-08-24 |
审批表
ApprovalId | OrderId | Status | SellerId |
---|---|---|---|
1 | 1 | Accepted | 10 |
2 | 1 | Rejected | 20 |
3 | 2 | Accepted | 30 |
物品表
ItemId | OrderId | Price | Qty | SellerId |
---|---|---|---|---|
1 | 1 | 620$ | 1 | 10 |
2 | 1 | 150$ | 2 | 10 |
3 | 1 | 410$ | 1 | 20 |
4 | 2 | 220$ | 1 | 30 |
我想要的是显示> 只接受订单的人
的收入收入Date | Sales | Seller_Part 90% | Net_Sales 10% |
---|---|---|---|
2021-07-10 | 770$ | 693$ | 77$ |
2021-08-24 | 220$ | 198% | 22$ |
我尝试使用 group by 聚合函数,但结果还包括拒绝订单
【问题讨论】:
【参考方案1】:select o.date
,sum(i.price * i.qty) sales
,sum(i.price * i.qty) * 0.90 Seller_Part90%
,sum(i.price * i.qty) * 0.10 Net_Sales10%
from Order o
join Approval a
on o.orderId = a.OrderId
and a.status= 'Accepted'
join Items i
on a.sellerid = i.sellerid
and a.orderid = i.orderid
group by o.date
【讨论】:
正确答案,谢谢四位的帮助:)以上是关于使用来自多个表的 group by 聚合函数的主要内容,如果未能解决你的问题,请参考以下文章
使用 GROUP BY 和聚合函数的多个 INNER JOIN
列的原因在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中[重复]
pandas使用groupby函数按照多个分组变量进行分组聚合统计使用agg函数计算分组的多个统计指标(grouping by multiple columns in dataframe)