【发布时间】:2022-01-01 13:21:39
【问题描述】:
所以我有一个关于平均问题的问题。假设我有 5 笔交易,每笔交易有多个项目,每个项目都有自己的数量值。我想搜索每笔交易的平均数量。请注意,在我的 ERD 设计中,有 2 个单独的表,即 HeaderTransaction 和 TransactionDetail。
如果我使用 AVG() 函数,那么它会很奇怪,例如
第一笔交易:
- 5 个鸡蛋
- 2根香肠
第二笔交易:
-
3 个鸡蛋
-
10 根香肠。
AVG 会像 (5+2+3+10)/4 我想要的是 ((5+2)+(3+10))/2
我目前的解决方案是
SELECT SUM(ItemQuantity)/COUNT (DISTINCT (SalesTransactionId)) as[aveg]
我觉得有点粗糙
【问题讨论】:
-
我想搜索每笔交易的平均数量。
Sum(items_amount)/Count(transactions) -
我确实需要关键字“DISTINCT”,因为它会导致不同的答案
-
您是否同时使用 MySQL 和 Microsoft SQL Server?如果没有,请删除无关标签。答案可能因您使用的实际 DBMS 而异。
-
你有一个我认为无法改进的简洁解决方案。
-
您知道
(5+2+3+10)/4和((5+2)+(3+10))/2中只有除数不同?
标签: sql