【发布时间】:2021-06-11 09:58:13
【问题描述】:
我有一些电台存储在一个简单的stations 集合中:
+----+-----------+
| id | name |
+----+-----------+
| 1 | Station A |
+----+-----------+
| 2 | Station B |
+----+-----------+
| 3 | Station C |
+----+-----------+
| 4 | Station D |
+----+-----------+
我在rides 集合中存储了一些游乐设施:
+----+---------------+-------------+
| id | fromStationId | toStationId |
+----+---------------+-------------+
| 1 | 3 | 4 |
+----+---------------+-------------+
| 2 | 2 | 1 |
+----+---------------+-------------+
| 3 | 1 | 1 |
+----+---------------+-------------+
| 4 | 3 | 2 |
+----+---------------+-------------+
我想创建一个包含所有可能的fromStation 名称和toStation 名称对之间的所有站间游乐设施的计数列表,结果如下所示:
[
{
"fromStation": "Station A",
"toStation": "Station A",
"count": 1196
},
{
"fromStation": "Station A",
"toStation": "Station B",
"count": 1
},
{
"fromStation": "Station A",
"toStation": "Station C",
"count": 173
},
]
And so on for all other combinations...
如何获得所有可能的两对车站名称组合,然后计算其中的骑行次数?我正在使用最新版本的 Postgres。
【问题讨论】:
-
我假设您有一个简单的站点列表(一个包含一列的表)和一个组合站点的第二个表连接...如果您的布局不同,请向我们展示一些示例数据...
-
@S-Man 很好的答案!但是,我没有连接表。我只有一个简单的电台列表(一列),没有别的。我还修改了我的问题以增加清晰度:)
标签: sql postgresql aggregation