如何使用“分组依据”按IP对数据进行分组

问题描述 投票:0回答:1

如何使用group by按postgres中的IP范围对数据进行分组?

我的桌子:

   "NETADDR"    |
----------------|
 192.168.13.6   |   
 192.168.13.6   |
 192.168.14.5   |
 192.168.14.6   |

所需的输出:

   "NETADDR"    |    "COUNT"
----------------|----------------|
 192.168.13     |      2
 192.168.14     |      2
sql postgresql ip-address aggregation
1个回答
0
投票

我不确定cidr是否会使其效率更高,因为您仍然需要汇总。您可以使用数组函数构造C型地址:

select array_to_string((regexp_split_to_array(netaddr, '\.'))[1:3], '.') as typec,
       count(*)
from t
group by typec;
© www.soinside.com 2019 - 2024. All rights reserved.