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

รวมข้อความตามค่า Boolean ในคอลัมน์อื่นด้วย GROUP_CONCAT ใน MySQL

ใช้ GROUP_CONCAT() ร่วมกับ GROUP BY boolean_column แยกรวมข้อความตาม True/False

สร้างตารางมีคอลัมน์ Boolean

mysql> create table DemoTable ( 
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    UserMessage varchar(100), 
    isValidUser boolean ); 
Query OK, 0 rows affected (0.63 sec)

mysql> insert into DemoTable(UserMessage,isValidUser) values('Hi',true); Query OK, 1 row affected (0.26 sec)
mysql> insert into DemoTable(UserMessage,isValidUser) values('Hello',false); Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable(UserMessage,isValidUser) values('Good',true); Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable(UserMessage,isValidUser) values('Awesome !!!!!',true); Query OK, 1 row affected (0.09 sec)

คิวรี GROUP BY isValidUser และ GROUP_CONCAT

mysql> select isValidUser, group_concat(UserMessage) 
from DemoTable group by isValidUser;
+-------------+---------------------------+
| isValidUser | group_concat(UserMessage) |
+-------------+---------------------------+
| 0           | Hello                     |
| 1           | Hi,Good,Awesome !!!!!     |
+-------------+---------------------------+
2 rows in set (0.07 sec)

คำอธิบาย: MySQL เก็บ Boolean เป็น 0 (false) และ 1 (true) GROUP BY แยกกลุ่ม 0 และ 1 แล้ว GROUP_CONCAT รวมข้อความในแต่ละกลุ่ม