要根据另一列中的布尔值连接行,请使用GROUP_CONCAT()。让我们首先创建一个表。在这里,我们将“ isValidUser ”列之一设置为BOOLEAN-
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserMessage varchar(100), isValidUser boolean );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable(UserMessage,isValidUser) values('Hi',true); mysql> insert into DemoTable(UserMessage,isValidUser) values('Hello',false); mysql> insert into DemoTable(UserMessage,isValidUser) values('Good',true); mysql> insert into DemoTable(UserMessage,isValidUser) values('Awesome !!!!!',true);
使用select语句显示表中的所有记录-
mysql> select *from DemoTable;
这将产生以下输出-
+----+---------------+-------------+ | Id | UserMessage | isValidUser | +----+---------------+-------------+ | 1 | Hi | 1 | | 2 | Hello | 0 | | 3 | Good | 1 | | 4 | Awesome !!!!! | 1 | +----+---------------+-------------+ 4 rows in set (0.03 sec)
以下是根据另一列中的布尔值连接行的查询。在这里,我们将布尔值1和布尔值0的对应记录串联起来-
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)