使用MySQL基于另一列的布尔值来连接行
要根据另一列的布尔值连接行,请使用GROUP_CONCAT()。让我们首先创建一个表。在这里,我们将其中一列“ isValidUser ”设置为布尔值 –
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)
使用insert命令在表中插入一些记录 –
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)
使用select语句从表中显示所有记录 –
mysql> select *from DemoTable;
这将产生以下输出 –
+----+---------------+-------------+
| Id | UserMessage | isValidUser |
+----+---------------+-------------+
| 1 | Hi | 1 |
| 2 | Hello | 0 |
| 3 | Good | 1 |
| 4 | Awesome !!!!! | 1 |
+----+---------------+-------------+
4行记录(0.03秒)
以下是基于另一列的布尔值连接行的查询。在这里,我们正在连接布尔1值的相应记录,并且对于布尔0,也是如此 –
mysql> select isValidUser,group_concat(UserMessage) from DemoTable group by isValidUser;
这将产生以下输出 –
+-------------+---------------------------+
| isValidUser | group_concat(UserMessage) |
+-------------+---------------------------+
| 0 | Hello |
| 1 | Hi,Good,Awesome !!!!! |
+-------------+---------------------------+
2行记录(0.07秒)
阅读更多:MySQL 教程