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

เชื่อมแถวตามค่าบูลีนในอีกคอลัมน์หนึ่งด้วย MySQL


หากต้องการต่อแถวตามค่าบูลีนในอีกคอลัมน์หนึ่ง ให้ใช้ GROUP_CONCAT() ให้เราสร้างตารางก่อน ที่นี่ เราได้ตั้งค่าหนึ่งในคอลัมน์ “isValidUser ” เป็นบูลีน –

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

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

mysql> แทรกลงในค่า DemoTable(UserMessage,isValidUser) ('Hi',true);Query OK, 1 แถวได้รับผลกระทบ (0.26 วินาที)mysql> แทรกลงใน DemoTable (UserMessage,isValidUser) ค่า ('Hello',false);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที)mysql> แทรกลงใน DemoTable (UserMessage,isValidUser) ค่า ('ดี', จริง); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงใน DemoTable (UserMessage, isValidUser) values('Awesome !!!!!',true);Query OK, 1 แถวได้รับผลกระทบ (0.09 วินาที)

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

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

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

<ก่อนหน้า>+----+--------------+-------------+| รหัส | ข้อความผู้ใช้ | isValidUser |+----+--------------+-------------+| 1 | สวัสดี | 1 || 2 | สวัสดี | 0 || 3 | ดี | 1 || 4 | สุดยอด !!!!! | 1 |+----+---------------------+-------------+4 แถวในชุด (0.03 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อเชื่อมแถวตามค่าบูลีนในคอลัมน์อื่น ที่นี่ เรากำลังเชื่อมเร็กคอร์ดที่สอดคล้องกันสำหรับค่าบูลีน 1 และค่าบูลีน 0 เหมือนกัน -

mysql> เลือก isValidUser,group_concat(UserMessage) จากกลุ่ม DemoTable โดย isValidUser

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

<ก่อนหน้า>+-------------+--------------------------+| isValidUser | group_concat(UserMessage) |+-------------+--------------------------+| 0 | สวัสดี || 1 | สวัสดี ดี ยอดเยี่ยม !!!!! |+-------------+--------------------------+2 แถวในชุด (0.07 วินาที)