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

นับข้อความแยกกันหลายครั้งใน MySQL หรือไม่


คุณสามารถใช้การนับฟังก์ชันรวมร่วมกับ if() สำหรับสิ่งนี้ เพื่อให้เข้าใจแนวคิด ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้

mysql> สร้างตาราง CountOccurrencesDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> TechnicalSubject varchar(100) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.68 วินาที)

ตอนนี้คุณสามารถแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้

mysql> แทรกลงในค่า CountOccurrencesDemo (TechnicalSubject) ('Java'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า CountOccurrencesDemo (TechnicalSubject) ('MongoDB'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.13 วินาที) mysql> แทรกลงในค่า CountOccurrencesDemo (TechnicalSubject) ('MySQL'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า CountOccurrencesDemo (TechnicalSubject) ('MySQL'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว ( 0.10 วินาที) mysql> แทรกลงในค่า CountOccurrencesDemo (TechnicalSubject) ('MySQL'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.07 วินาที) mysql> แทรกลงใน CountOccurrencesDemo (TechnicalSubject) ค่า ('Java'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.15 วินาที) mysql> แทรกลงในค่า CountOccurrencesDemo (TechnicalSubject) ('Java'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า CountOccurrencesDemo (TechnicalSubject) ('Java'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.09 วินาที) mysql> แทรกลงในค่า CountOccurrencesDemo (TechnicalSubject) ('Java'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรก int ค่า CountOccurrencesDemo(TechnicalSubject) ('MongoDB'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที)

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

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

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

<ก่อนหน้า>+----+-----------------+| รหัส | TechnicalSubject |+----+-----------------+| 1 | ชวา || 2 | MongoDB || 3 | MySQL || 4 | MySQL || 5 | MySQL || 6 | ชวา || 7 | ชวา || 8 | ชวา || 9 | ชวา || 10 | MongoDB |+----+-----------------+10 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อนับข้อความหลายรายการใน MySQL

mysql> เลือกจำนวน (if(tbl.TechnicalSubject LIKE '%Java%',1,null)) เป็น JavaOccurrence, -> count(if(tbl.TechnicalSubject LIKE '%MySQL%',1,null)) เป็น MySQLOccurrence, -> count(if(tbl.TechnicalSubject LIKE '%MongoDB%',1,null)) เป็น MongoDBOccurrence -> จาก CountOccurrencesDemo tbl;

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

<ก่อนหน้า>+----------------+------------------------------------- --------+| JavaOccurrence | MySQLOccurrence | MongoDBOccurrence |+----------------+-----------------+------------ --------+| 5 | 3 | 2 |+----------------+------------------------------------- --------+1 แถวในชุด (0.05 วินาที)