在MySQL中使用GROUP_CONCAT()处理位字段返回错误数据?如何解决?
为了解决这个问题,可以使用添加0到列中的group_concat()。让我们先创建一个表−
mysql> create table DemoTable1856
(
Id int,
Value bit(1)
);
查询成功,影响行数为0,耗时0.00秒
使用insert命令将一些记录插入表中−
mysql> insert into DemoTable1856 values(101,1);
查询成功,影响行数为1,耗时0.00秒
mysql> insert into DemoTable1856 values(102,0);
查询成功,影响行数为1,耗时0.00秒
mysql> insert into DemoTable1856 values(101,0);
查询成功,影响行数为1,耗时0.00秒
mysql> insert into DemoTable1856 values(102,1);
查询成功,影响行数为1,耗时0.00秒
mysql> insert into DemoTable1856 values(101,0);
查询成功,影响行数为1,耗时0.00秒
使用select语句显示表中的所有记录 –
mysql> select * from DemoTable1856;
这将产生以下输出−
+------+-------+
| Id | Value |
+------+-------+
| 101 | |
| 102 | |
| 101 | |
| 102 | |
| 101 | |
+------+-------+
5 rows in set (0.00 sec)
以下是使用group_concat()处理位字段并避免返回无用值的查询−
mysql> select group_concat(Value+0) from DemoTable1856
group by Id;
这将产生以下输出−
+-----------------------+
| group_concat(Value+0) |
+-----------------------+
| 1,0,0 |
| 0,1 |
+-----------------------+
2 rows in set (0.00 sec)
阅读更多:MySQL 教程