คุณสามารถนับค่าจากฟิลด์ที่คั่นด้วยเครื่องหมายจุลภาคโดยใช้วิธี CHAR_LENGTH() จาก MySQL ไวยากรณ์มีดังนี้ −
SELECT *, (CHAR_LENGTH(yourColumnName) - CHAR_LENGTH(REPLACE(yourColumnName, ',','')) + 1) as anyVariableName from yourTableName;
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง CountValuesCommaSeparated -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> ข้อความ CommaSeparatedValue, -> คีย์หลัก (Id) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.76 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่ง insert แบบสอบถามมีดังนี้ −
mysql> แทรกลงใน CountValuesCommaSeparated(CommaSeparatedValue)values('101,104,1900,46675,7895');Query OK, 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงใน CountValuesCommaSeparated(CommaSeparatedValue)values ('101065,189) '); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที) mysql> แทรกลงในค่า CountValuesCommaSeparated (CommaSeparatedValue) ('2010,1201,2743874,7485'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.42 วินาที) mysql> แทรกลงใน CountValuesCommaSeparated ( CommaSeparatedValue)values('4757,457587,48586,378575,3874765,487565');ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.26 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก CountValuesCommaSeparated;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+----+----------------------------------------- +| รหัส | CommaSeparatedValue |+----+---------------------------------------------------+ | 1 | 101,104,1900,46675,7895 || 2 | 1010,18949,37465 || 3 | 2010,1201,2743874,7485 || 4 | 4757,457587,48586,378575,3874765,487565 |+----+-------------------------------- ---------+4 แถวในชุด (0.00 วินาที)นี่คือการสืบค้นเพื่อนับค่าจากฟิลด์ที่คั่นด้วยเครื่องหมายจุลภาค:
mysql> เลือก *, -> (CHAR_LENGTH(CommaSeparatedValue) -CHAR_LENGTH(REPLACE(CommaSeparatedValue, ',', '')) + 1) เป็น TotalValue -> จาก CountValuesCommaSeparated;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+----+----------------------------------------- +------------+| รหัส | จุลภาคSeparatedValue | มูลค่ารวม |+----+-----------------------------------------+ --------------+| 1 | 101,104,1900,46675,7895 | 5 || 2 | 1010,18949,37465 | 3 || 3 | 2010,1201,2743874,7485 | 4 || 4 | 4757,457587,48586,378575,3874765,487565 | 6 |+----+------------------------------------------------------+ ------------+4 แถวในชุด (0.00 วินาที)