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

วิธีที่มีประสิทธิภาพที่สุดในการดึงข้อมูลจาก MySQL เพื่อให้จัดรูปแบบด้วยค่าที่ซ้ำกันคืออะไร


สำหรับสิ่งนี้ คุณสามารถใช้ GROUP_CONCAT() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1561 -> ( -> StudentName varchar(20), -> Title text -> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.60 วินาที)

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

mysql> แทรกลงในค่า DemoTable1561 ('Adam', 'Learning Java'); เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่า DemoTable1561 ('Bob', 'Learning C'); เคียวรีตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable1561 ('Adam', 'Learning Spring และ Hibernate Framework'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.22 วินาที) mysql> แทรกลงในค่า DemoTable1561 ('Carol', 'Learning MySQL จากพื้นฐาน ');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.30 วินาที)

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

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

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

<ก่อนหน้า>+-------------+-------------------------------- ---------+| ชื่อนักเรียน | ชื่อเรื่อง |+-------------+--------------------------------- --------+| อดัม | การเรียนรู้ Java || บ๊อบ | การเรียนรู้ C || อดัม | การเรียนรู้ Spring และ Hibernare Framework || แครอล | การเรียนรู้ MySQL จากพื้นฐาน |+-------------+----------------------------- ------------+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อดึงข้อมูลจาก MySQL เพื่อให้มีรูปแบบ -

mysql> เลือก StudentName,group_concat(Title separator ',') เป็น FormattedOutput จาก DemoTable1561 -> จัดกลุ่มตาม StudentName

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

<ก่อนหน้า>+-------------+-------------------------------- ----------------------------------+| ชื่อนักเรียน | FormattedOutput |+------------------------------------------------------------- ----------------------+| อดัม | การเรียนรู้ Java, การเรียนรู้ Spring และ Hibernate Framework || บ๊อบ | การเรียนรู้ C || แครอล | การเรียนรู้ MySQL จากพื้นฐาน |+-------------+----------------------------- -------------------------------------- +3 แถวในชุด (0.00 วินาที)