IPリストをサブネット(最初の3オクテット)でグループ化してカウントする必要があります。たとえば、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
ただし、リストは最初の2オクテットでのみグループ化されます。私はこれらすべてで迷子になりましたlocate(locate(locate(...)))
。誰かがこれを修正して適切な結果を得るのを手伝ってもらえますか?