我有一个查询,它从我的数据库中返回系统和区域,如下所示:
SELECT Areas.ID AreaID,
Areas.Name AreaName,
Systems.*
FROM Systems
INNER JOIN Areas ON Areas.ID = Systems.AreaID
WHERE ....
这将返回如下所示的数据:
| AreaID | AreaName | SystemName | ...
| 1 | area1 | sys1 |
| 1 | area1 | sys2 |
| 1 | area1 | sys3 |
| 1 | area1 | sys4 |
| 2 | area2 | sys5 |
| 2 | area2 | sys6 |
我想返回一个附加列,其中包含返回的每个区域中的系统数量,所以我最终得到如下内容:
| AreaID | AreaName | SystemName | noOfSystems | ...
| 1 | area1 | sys1 | 4 |
| 1 | area1 | sys2 | 4 |
| 1 | area1 | sys3 | 4 |
| 1 | area1 | sys4 | 4 |
| 2 | area2 | sys5 | 2 |
| 2 | area2 | sys6 | 2 |
IE 有 4 个系统的 area id 为 1 和 2 的 area id 为 2。
如何才能做到这一点?我确定我听说过这样做的内置函数,但我找不到我想要的。