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

นับจำนวนครั้งของสตริงในฟิลด์ VARCHAR ใน MySQL?


ในการนับจำนวนครั้งของสตริงใน VARCHAR เราสามารถใช้ตรรกะของการลบด้วยความยาวได้ ขั้นแรก เราจะสร้างตารางโดยใช้คำสั่ง create

mysql> สร้างตาราง StringOccurrenceDemo -> ( -> กรณี varchar(100), -> StringValue varchar(500) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.56 วินาที) 

หลังจากรันตารางข้างต้นแล้ว เราจะทำการแทรกเรคคอร์ดลงในตาราง แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า StringOccurrenceDemo ('First','นี่คือ MySQL Demo และ MySQL เป็นโอเพ่นซอร์ส RDBMS'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.07 วินาที)mysql> แทรกลงในค่า StringOccurrenceDemo ('วินาที', 'ไม่มี');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า StringOccurrenceDemo ('ที่สาม', 'มี MySQL, สวัสดี MySQL, สวัสดี MySQL'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที )

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

mysql> เลือก *จาก StringOccurrenceDemo;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+---------+----------------------------- ------------------+| คดี | StringValue |+-------+-------------------------------------- -----------------+| ครั้งแรก | นี่คือ MySQL Demo และ MySQL เป็นโอเพ่นซอร์ส RDBMS || วินาที | ไม่มี || ที่สาม | มี MySQL, สวัสดี MySQL, สวัสดี MySQL |+-------+------------------------------------ ------------------------ +3 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อนับการเกิดขึ้นของสตริง “MySQL” ผลลัพธ์จะปรากฏในคอลัมน์ 'NumberOfOccurrenceOfMySQL'

mysql> SELECT เคส,StringValue, -> ROUND ( -> ( -> LENGTH(StringValue)- LENGTH( REPLACE (StringValue, "MySQL", "") ) -> ) / LENGTH("MySQL") -> ) AS NumberOfOccurrenceOfMySQL -> จาก StringOccurrenceDemo;

นี่คือผลลัพธ์

<ก่อนหน้า>+---------+----------------------------- -----------------------------------------------+| คดี | StringValue | Number OfOccurrenceOfMySQL|+---------+-------------------------------------- ----------------------------------------------+| ครั้งแรก | นี่คือ MySQL Demo และ MySQL เป็นโอเพ่นซอร์ส RDBMS | 2 || วินาที | มี | 0 || ที่สาม | มี MySQL, สวัสดี MySQL, สวัสดี MySQL | 3 |+-------+-------------------------------------- ----------------------------------------------+3 แถวในชุด ( 0.05 วินาที)

ผลลัพธ์ข้างต้นแสดงว่าเราพบจำนวนการเกิดขึ้นของสตริง "MySQL" แล้ว