0
私はthis questionというパターンでMySQL検索をグループ化していますが、IPアドレスに対してこれを行う必要があります。最初の3オクテットでIPアドレスをグループ化する必要がありますが、これをどのようにするのかは分かりません。グループMySQLのREGEXによるIPアドレスの検索
おかげで、ここで役に立つかもしれない
私はthis questionというパターンでMySQL検索をグループ化していますが、IPアドレスに対してこれを行う必要があります。最初の3オクテットでIPアドレスをグループ化する必要がありますが、これをどのようにするのかは分かりません。グループMySQLのREGEXによるIPアドレスの検索
おかげで、ここで役に立つかもしれない
MySQL SUBSTRING_INDEX function:
drop table if exists test_ip;
create table test_ip
(id int unsigned not null primary key auto_increment,
ip varchar(50) not null,
UNIQUE KEY test_ip_uidx1 (ip));
insert into test_ip (ip) values ('24.21.114.4');
insert into test_ip (ip) values ('24.21.114.5');
insert into test_ip (ip) values ('24.21.114.6');
insert into test_ip (ip) values ('24.21.115.6');
insert into test_ip (ip) values ('24.21.115.7');
insert into test_ip (ip) values ('24.21.115.8');
insert into test_ip (ip) values ('24.21.116.1');
select substring_index(ti.ip,'.',3) as firstThreeOctet,count(*) as ipCount
from test_ip ti
group by substring_index(ti.ip,'.',3);
はそれがお役に立てば幸いです。
甘い!あなたはこのMySQL n00bのために男性の間で神様です! –
達成しようとしている出力の例を挙げることはできますか?一意の最初の3オクテットのリストだけが必要ですか、それとも別のものの後ろにいますか? – Tim
@Tim - yes、すべてのIPアドレスの最初の3オクテットのリストとそれぞれのカウント –