使用 MySQL 根据另一列中的布尔值连接行
mysqlmysqli database更新于 2025/12/10 12:28:17
要根据另一列中的布尔值连接行,请使用 GROUP_CONCAT()。让我们首先创建一个表。在这里,我们将其中一列"isValidUser"设置为 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)
使用 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 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)
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

