在MySQL中使用GROUP_CONCAT()处理位字段返回错误数据?如何解决?

在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 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程