使用MySQL根據另一列的布林值連線行


要根據另一列中的布林值連線行,請使用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)

更新於:2019年9月25日

306 次瀏覽

啟動您的職業生涯

完成課程後獲得認證

開始
廣告