【发布时间】:2021-05-03 02:24:18
【问题描述】:
所以假设我从一个名为 Inventory 的表开始,如下所示,其中每个非唯一存储 ID 有多个唯一项目:
| ItemID | StorageID |
|---|---|
| 453 | 100 |
| 234 | 100 |
| 642 | 150 |
| 234 | 200 |
| 343 | 200 |
| 143 | 200 |
我根据其存储 ID 对项目进行分组,因此它会产生下表 - (select itemID, storageID from Inventory group by storageID)
| ItemID | StorageID |
|---|---|
| 453, 234 | 100 |
| 642 | 150 |
| 234, 343, 143 | 200 |
但这是我坚持的部分:我想返回一个数字结果,表示每个存储的平均项目数。因此,这将涉及计算每个不同存储的项目数(即: storageID 100 有 2 个项目, storageID 200 有 3 个项目),然后找到平均值。因此,在我分享的示例中,平均值为 (2+1+3)/3 = 2.67 件/存储。 我怎么能查询MySQL呢?我什至需要使用 group by 作为开始吗?
【问题讨论】: