使用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)
廣告