如何使用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
我不确定cidr
是否会使其效率更高,因为您仍然需要汇总。您可以使用数组函数构造C型地址:
select array_to_string((regexp_split_to_array(netaddr, '\.'))[1:3], '.') as typec,
count(*)
from t
group by typec;