이러한 문자열 조작을 위해서는 MySQL SUBSTRING_INDEX()를 사용해야 합니다. 먼저 테이블을 생성하겠습니다 -
mysql> Create table DemoTable( SystemIpAddress text);Query OK, 영향을 받는 행 0개(0.58초)
삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -
mysql> DemoTable 값에 삽입('192.168.130.67');쿼리 OK, 1행 영향(0.09초)mysql> DemoTable 값에 삽입('192.168.130.87');쿼리 OK, 1행 영향(0.13초) )mysql> DemoTable 값에 삽입('192.168.131.47');쿼리 OK, 1행 영향(0.31초)mysql> DemoTable 값에 삽입('192.168.134.50');쿼리 OK, 1행 영향(0.12초)mysql> DemoTable 값에 삽입('192.168.131.12');쿼리 확인, 1행 영향(0.21초)
select 문을 사용하여 테이블의 모든 레코드 표시 -
mysql> 선택 *from DemoTable;
이것은 다음과 같은 출력을 생성합니다 -
+-----------------+| SystemIpAddress |+-----------------+| 192.168.130.67 || 192.168.130.87 || 192.168.131.47 || 192.168.134.50 || 192.168.131.12 |+-----------------+5행 세트(0.00초)
다음은 IP 주소 레코드에 대한 문자열 조작에 대한 쿼리입니다. -
mysql> select substring_index(tbl.SystemIpAddress, '.', 3) , count(*)를 DemoTable tbl 그룹의 Total로 substring_index(tbl.SystemIpAddress, '.', 3) Total desc limit 5에 의한 순서로 선택;사전>이것은 다음과 같은 출력을 생성합니다 -
+---------------------------------------------- +-------+| substring_index(tbl.SystemIpAddress, '.', 3) | 합계 |+-------------------------------------------------------------+ -------+| 192.168.130 | 2 || 192.168.131 | 2 || 192.168.134 | 1 |+-------------------------------------------------------------+ -------+3 행 세트(0.00초)