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

กลุ่มเชื่อมนามสกุลจากคอลัมน์ MySQL และตั้งค่าเงื่อนไขเพื่อแสดงระเบียนที่จำกัด


ใช้ GROUP_CONCAT() เพื่อทำการต่อกลุ่มและตั้งเงื่อนไข ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable813 ( UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserFirstName varchar(100), UserLastName varchar(100));Query OK, 0 แถวได้รับผลกระทบ (0.49 วินาที)

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

mysql> แทรกลงในค่า DemoTable813(UserFirstName,UserLastName) ('Adam','Smith');Query OK, 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงในค่า DemoTable813(UserFirstName,UserLastName) ('Chris', 'สีน้ำตาล');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable813 (UserFirstName, UserLastName) ('David', 'Miller'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงใน DemoTable813 (UserFirstName,UserLastName) ค่า ('Carol','Taylor'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.22 วินาที)

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

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

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

<ก่อนหน้า>+---------+-----------------------+--------------+| รหัสผู้ใช้ | UserFirstName | UserLastName |+--------+--------------+--------------+| 1 | อดัม | สมิธ || 2 | คริส | สีน้ำตาล || 3 | เดวิด | มิลเลอร์ || 4 | แครอล | เทย์เลอร์ |+--------+--------------+--------------+4 แถวในชุด (0.00 วินาที )

ต่อไปนี้เป็นวิธีการรวมกลุ่มและแสดงเฉพาะนามสกุล -

mysql> เลือก group_concat(UserLastName) จาก DemoTable813 โดยที่ UserId <4;

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

<ก่อนหน้า>+---------------------------+| group_concat(ชื่อผู้ใช้) |+----------------------------+| Smith,Brown,Miller |+----------------------------+1 แถวในชุด (0.00 วินาที)