Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การจัดการสตริง MySQL เพื่อนับเฉพาะส่วนย่อยของค่าที่ซ้ำกันในบันทึก IP ADDRESS หรือไม่


สำหรับการจัดการสตริงดังกล่าว คุณต้องใช้ MySQL SUBSTRING_INDEX() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable (ข้อความ SystemIpAddress); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.58 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable ('192.168.130.67'); Query OK, 1 แถวได้รับผลกระทบ (0.09 วินาที)mysql> แทรกลงในค่า DemoTable ('192.168.130.87'); Query OK, 1 แถวได้รับผลกระทบ (0.13 วินาที )mysql> แทรกลงในค่า DemoTable ('192.168.131.47'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.31 วินาที) mysql> แทรกลงในค่า DemoTable ('192.168.134.50'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DemoTable('192.168.131.12');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.21 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก 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> เลือก substring_index(tbl.SystemIpAddress, '.', 3) , count(*) เป็นยอดรวมจากกลุ่ม tbl ของ DemoTable โดย substring_index(tbl.SystemIpAddress, '.', 3) เรียงลำดับตามขีดจำกัดทั้งหมด 5;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อน>+--------------------------------------------- +-------+| substring_index(tbl.SystemIpAddress, '.', 3) | รวม |+----------------------------------------------------------+ --------+| 192.168.130 | 2 || 192.168.131 | 2 || 192.168.134 | 1 |+----------------------------------------------------------+ --------+3 แถวในชุด (0.00 วินาที)