我需要按子网(前 3 个八位字节)对 IP 列表进行分组来计算它。例如,如果我有 Ips
123.12.12.12
123.12.12.11
123.12.11.11
我必须得到这样的结果:
123.12.12 | 2
123.12.11 | 1
我用谷歌搜索了这个例子:
select
substr(ip,1,locate('.',ip,locate('.',ip)+1)-1)
as ip, count(ip) as count
from ip_list
group by ip ORDER BY count DESC
但它仅按前两个八位位组对列表进行分组。我迷失在这一切中locate(locate(locate(...)))
。有人可以帮助修改它以获得正确的结果吗?