在PHPMYADMIN中使用group_concat将显示结果为[BLOB - 3B]

Ita*_*vka 55 mysql casting group-by phpmyadmin group-concat

我有一个查询,它在整数字段上使用mysql的GROUP_CONCAT.
我正在使用PHPMYADMIN来开发此查询.我的问题是,不是显示1,2是连接字段的结果,而是[BLOB - 3B].

查询是

SELECT rec_id,GROUP_CONCAT(user_id)
FROM t1
GROUP BY rec_id
Run Code Online (Sandbox Code Playgroud)

(两个字段都是unsigned int,两者都不是唯一的)

我应该添加什么来查看实际结果?

mun*_*nch 85

看起来好像GROUP_CONCAT期望该值是一个字符串.我刚遇到同样的问题.通过将int列转换为如下字符串来解决它:

SELECT rec_id,GROUP_CONCAT(CONVERT(user_id, CHAR(8)))
FROM t1
GROUP BY rec_id
Run Code Online (Sandbox Code Playgroud)

如果您仍然遇到问题,请与我分享.


scy*_*scy 44

根据MySQL文档,CAST(expr AS type)是标准SQL,因此应该被允许.此外,您可以省略字符串长度.因此,我建议如下:

SELECT rec_id, GROUP_CONCAT(CAST(user_id AS CHAR))
FROM t1
GROUP BY rec_id
Run Code Online (Sandbox Code Playgroud)


Jan*_*nne 21

对我来说,这有帮助(在这篇博文中找到它):

在我的情况下,参数to GROUP_CONCAT是字符串,但函数仍然导致BLOB,但转换工作的结果GROUP_CONCAT.

CONVERT(GROUP_CONCAT(user_id) USING 'utf8')
Run Code Online (Sandbox Code Playgroud)

  • 谢谢Janne.好的解决方案 (2认同)

Ita*_*vka 19

在查询结果的上方(左侧),您将看到+options.按下并标记

显示BLOB内容