我在一个基于网格的系统中有一个客户表,其中包含他们最近的交付中心,我需要使用查询计算人口最多的区域。
这是我的当前查询,它列出了每个客户的所有Coordinates。SELECT Customers.HubID, TO_CHAR(Hubs.HubCoordX, 'FM999999999999') as "X Co-ordinate", TO_CHAR(Hubs.HubCoordX, 'FM999999999999') AS "Y Co-ordinate" FROM Customers INNER JOIN Hubs ON Customers.HubID = Hubs.DestinationID ORDER BY Hubs.HubCoordX, Hubs.HubCoordY
此查询创建以下结果。
| 集线器ID|X坐标|Y坐标|
| - ------|- ------|- ------|
| 九|-3个|1个|
| 十一|-2个|十八|
| 第二章|无|无|
| 三个|无|无|
| 三个|无|无|
| 1个|无|无|
| 1个|无|无|
| 三个|无|无|
| 四个|三个|1个|
| 五个|三个|1个|
| 七|七|三个|
但我需要这样的结果
| X坐标|Y坐标|人口|
| - ------|- ------|- ------|
| -3个|1个|1个|
| -2个|十八|1个|
| 无|无|六个|
| 三个|1个|第二章|
| 七|三个|1个|
先谢了
我曾尝试使用计数唯一,但它导致只计数个别坐标一次。
1条答案
按热度按时间vc9ivgsu1#
选择TO_CHAR(中心站.中心站坐标X,'FM9999999999999')作为“X坐标”,TO_CHAR(中心站.中心站坐标X,' FM99999999999')作为“Y坐标”,计数(中心站ID)作为“人口”,来自客户内部联接中心站在客户上。中心站ID =中心站.目的地ID Group BY中心站.中心站坐标X,中心站.中心站坐标Y